Higher arithmetic : an algorithmic introduction to number theory / - Edwards, Harold M. (American Mathematical Society, 2008)