An Introduction to Diophantine Equations A Problem-Based Approach - Andreescu, Titu (Springer Science+Business Media, LLC, 2010)