Introduction to number theory - Crawford, Mathew (AoPS Incorporated, 2008)