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