So far we have proved only isolated results. Now it is time for theory! We start with the theory of diophantine approximations. In this chapter we shall prove classical theorems due to Dirichlet, Kronecker and Hurwitz and give some of their amazing applications (criteria for irrationality and uniform distribution). Further, with the pigeonhole principle and the Farey sequence we will learn two more simple but important tools in our diophantine toolbox.