An Introduction to Number Theory - Everest, Graham; Ward, Thomas (Springer London, 2005)