In this book we give a complete and (almost) self-contained exposition of Mihăilescu’s work, which must be understandable by a curious university student, not necessarily specializing in Number Theory. We assume a very modest background:a standard university course of algebra, including basic Galois theory, and working knowledge of basic algebraic number theory.