An Introduction to Number theory - Everest, Graham (Springer, 2008)