introduction to number theory - Everest, Graham (Springer Verlag, 2005)