  In these lectures we first review all of the important properties of the
Riemann $\zeta$-function, necessary to understand the importance and nature of
the Riemann hypothesis. In particular this first part describes the analytic
continuation, the functional equation, trivial zeros, the Euler product
formula, Riemann's main result relating the zeros on the critical strip to the
distribution of primes, the exact counting formula for the number of zeros on
the strip $N(T)$ and the GUE statistics of the zeros on the critical line. We
then turn to presenting some new results obtained in the past year and describe
several strategies towards proving the RH. First we describe an electro-static
analogy and argue that if the electric potential along the line $\Re (z) =1$ is
a regular alternating function, the RH would follow. The main new result is
that the zeros on the critical line are in one-to-one correspondence with the
zeros of the cosine function, and this leads to a transcendental equation for
the $n$-th zero on the critical line that depends only on $n$. If there is a
unique solution to this equation for every $n$, then if $N_0 (T)$ is the number
of zeros on the critical line, then $N_0(T) = N(T)$, i.e. all zeros are on the
critical line. These results are generalized to two infinite classes of
functions, Dirichlet $L$-functions and $L$-functions based on modular forms. We
present extensive numerical analysis of the solutions of these equations. We
apply these methods to the Davenport-Heilbronn $L$-function, which is known to
have zeros off of the line, and explain why the RH fails in this case. We also
present a new approximation to the $\zeta$-function that is analogous to the
Stirling approximation to the $\Gamma$-function.
