Higher arithmetic an algorithmic introduction to number theory - Edwards, Harold M. 1936-2020 (Student mathematical library, 2008)