A novel feature of the book are the numerous computer experiments by which one can discover interesting properties of integers. Experiment and pattern recognition are an important part of number theory, the means by which new results are discovered. The purpose of the experiments is to gather sufficient numerical evidence to observe the underlying patterns and make a reasonable conjecture. The reader is invited to discover the important results and to prove them. While many results of the experiments are proved in a later chapter of the text when it is essential for the development of the subject, many more are left for the reader's enjoyment.