Higher arithmetic : an algorithmic introduction to number theory - Edwards, Harold M. (AMS, 2008)