Wrap your head around this one: http://math.andrej.com/2007/09/28/seemingly-impossible-funct...
Also, I'd recommend taking a look at Magma: http://en.wikipedia.org/wiki/Magma_computer_algebra_system
Also, I'd recommend taking a look at Magma: http://en.wikipedia.org/wiki/Magma_computer_algebra_system