← back

The Riemann hypothesis (or, how to earn $1 million)

February 13, 2026

One of the oldest theorems in mathematics is that there are infinitely many primes. Euclid (the geometer!) proved this around 300 BCE, and for centuries afterwards the story ended there. There are infinitely many primes, what else is there to ask?

However, some infinite sets are more `common' than others. For example, even numbers are pretty common, but powers of 2 are pretty rare: between \(1\) and \(1000,\) there are 500 even numbers, but only ten powers of 2. Thus, an interesting follow up question to Euclid's proof is to ask: can we quantify how common prime numbers are?

One way of expressing the idea of that there are more even numbers than powers of 2 is to note that \[\frac{1}{2} + \frac{1}{4} + \frac{1}{6} + \frac{1}{8} + \frac{1}{10} + \cdots = \infty,\] but \[\frac{1}{2} + \frac{1}{2^2} + \frac{1}{2^3} + \frac{1}{2^4} + \frac{1}{2^5} + \cdots = 1.\]

In other words, the powers of 2 are so far apart that when we replace \(2^n\) with \(\frac{1}{2^n}\) (turning a large number into a small number), we get a finite sum. But the even numbers are so close together that, even though you're adding terms which are getting smaller and smaller, you have so many terms that the final sum is infinity.

Euler was interested in the corresponding question for primes: is \[\frac{1}{2} + \frac{1}{3} + \frac{1}{5} + \frac{1}{7} + \frac{1}{11} + \frac{1}{13} + \cdots,\] the sum of the reciprocals of all the primes, infinite or finite?

Enter: the Riemann zeta function

To compute the infinite sum \[\frac{1}{2} + \frac{1}{3} + \frac{1}{5} + \frac{1}{7}+ \cdots = \sum_{p\text{ prime}} \frac{1}{p},\] Euler started with what is now called the Riemann zeta function (Riemann enters our story much later... but so many things in math are named after Euler, that we named this object after Riemann despite Euler being the first to discover it).

The Riemann zeta function is the infinite sum \[ \zeta(s)=1+\frac1{2^s}+\frac1{3^s}+\frac1{4^s}+\frac{1}{5^s} + \cdots = \sum_{n=1}^{\infty} \frac{1}{n^s}. \] Euler observed that this infinite sum actually factors as a sum involving primes.

For example, consider the product \[ \bigg(1+\frac1{2^s}+\frac1{4^s}+\cdots\bigg)\bigg(1+\frac1{3^s}+\frac1{9^s}+\cdots\bigg)\bigg(1+\frac1{5^s}+\frac1{25^s}+\cdots\bigg).\] When we distribute out the terms in this sum, we will get terms like \[1 \cdot 1 \cdot 1=1,\ \ \frac{1}{2^s} \cdot 1 \cdot 1=\frac1{2^s},\ \ \frac{1}{2^s} \cdot \frac{1}{3^s} \cdot 1 = \frac{1}{6^s},\ \ \frac{1}{4^s} \cdot \frac{1}{9^s} \cdot \frac{1}{5^s} = \frac{1}{180^s},\] as well as many more. Indeed, when we expand this sum out, we're going to get fractions whose denominators are any number which can be built out of 2, 3, and 5. For example, if we wanted to find the term \(1/75^s\) in the infinite product, we would compute the prime factorization \(75=3\cdot25\) and realize that \[ \frac1{75^s}=1\cdot\frac1{3^s}\cdot\frac1{25^s} \] appears in the expansion.

Because every number admits a unique prime factorization, and can be built out of prime numbers in a unique way, Euler realized that if we took the infinite product \[ \bigg(1+\frac1{2^s}+\frac1{4^s}+\cdots\bigg)\bigg(1+\frac1{3^s}+\frac1{9^s}+\cdots\bigg)\bigg(1+\frac1{5^s}+\frac1{25^s}+\cdots\bigg) \cdots = \prod_{p\text{ prime}} \left(1 + \frac{1}{p^s} + \frac{1}{(p^2)^s} + \frac{1}{(p^3)^s} + \cdots\right),\] then this infinite product would contain every term \(1/n^s\) exactly once after we distributed it out.

This leads to the Euler product formula: \[\frac{1}{1^s} + \frac{1}{2^s} + \frac{1}{3^s} + \frac{1}{4^s} + \cdots = \bigg(1+\frac1{2^s}+\frac1{4^s}+\cdots\bigg)\bigg(1+\frac1{3^s}+\frac1{9^s}+\cdots\bigg)\bigg(1+\frac1{5^s}+\frac1{25^s}+\cdots\bigg) \cdots,\] or \[\sum_{n=1}^{\infty} \frac{1}{n^s} = \prod_{p\text{ prime}} \left(1 + \frac{1}{p^s} + \frac{1}{(p^2)^s} + \frac{1}{(p^3)^s} + \cdots\right).\]

Each of the sums \[1 + \frac{1}{p^s} + \frac{1}{p^{2s}} + \frac{1}{p^{3s}} + \cdots\] is what is known as a geometric series. Geometric series can be summed very concretely: if we set \[X = 1 + \frac{1}{p^s} + \frac{1}{p^{2s}} + \cdots,\] then \[\frac{X}{p^s} = \frac{1}{p^s} + \frac{1}{p^{2s}} + \frac{1}{p^{3s}} + \cdots.\] Subtracting these two equations, \[X - \frac{X}{p^s} = 1,\] because all the terms on the right hand side except for the 1 cancel. Thus \[X \cdot \left(1 - \frac{1}{p^s}\right) = 1,\] so \[X = \frac{1}{1 - \frac{1}{p^s}}.\]

Thus, the Euler product formula can be written as \[\zeta(s)=\frac1{1-\frac1{2^s}}\cdot\frac1{1-\frac1{3^s}}\cdot\frac1{1-\frac1{5^s}}\cdots. \]

The Euler product formula is a way of encoding unique prime factorization in calculus, if you recall how its explanation required unique prime factorization. This is important because it is therefore a bridge between number theory and calculus; summing infinite series (like computing \(1/2 + 1/3 + 1/5 + 1/7 + \cdots,\) the sum of the reciprocals of the primes) is a calculus problem, but primes are number theoretic objects, so to solve our infinite sum over primes we need to use such a bridge.

Summing \(\frac{1}{2} + \frac{1}{3} + \frac{1}{5} + \cdots\)

But how do we actually cross our bridge, now that it exists? The right hand side of the Euler product formula involves an infinite product over all primes; but our problem is about a sum over the primes. As we saw in What is \(\log(3)\) modulo \(7\)?, logarithms are the standard tool to convert products into sums.

Thus, taking the logarithm in the Euler product formula, we get \[\log\zeta(s) = \log\left(\frac{1}{1 - \frac{1}{2^s}}\right) + \log\left(\frac{1}{1 - \frac{1}{3^s}}\right) + \log\left(\frac{1}{1 - \frac{1}{5^s}}\right) + \cdots = \sum_{p \text{ prime}} \log\left(\frac{1}{1-\frac{1}{p^s}}\right).\]

Unfortunately, these logarithms seem a little hard to use. However, we can use Taylor series to rewrite \[\log\left(\frac{1}{1 - x}\right) = x + \frac{x^2}{2} + \frac{x^3}{3} + \frac{x^4}{4} + \cdots,\] so that \[\log\left(\frac{1}{1 - \frac{1}{p^s}}\right) = \frac{1}{p^s} + \frac{1}{2p^{2s}} + \frac{1}{3p^{3s}} + \cdots.\]

Putting this all together, we find \[\log\zeta(s) = \sum_{p\text{ prime}} \frac{1}{p^s} + \sum_{p\text{ prime}} \frac{1}{2p^{2s}} + \sum_{p\text{ prime}} \frac{1}{3p^{3s}} + \cdots.\]

Set \(s = 1\) in the above expression. Now, the left handside becomes \[\log\zeta(1) = \log\left(1 + \frac{1}{2} + \frac{1}{3} + \frac{1}{4} + \cdots\right) = \log \infty = \infty,\] because the infinite sum \[1 + \frac{1}{2} + \frac{1}{3} + \frac{1}{4} + \frac{1}{5} + \cdots\] is infinity. If you've never seen this fact before (called the divergence of the harmonic series), then you might find the following calculation of the sum amusing. We can regroup this infinite sum as \[ 1+\frac12+\bigg(\frac13+\frac14\bigg)+\bigg(\frac15+\frac16+\frac17+\frac18\bigg)+\cdots. \] In the first set of parentheses, the terms are \[ \frac13+\frac14>\frac14+\frac14=\frac12, \] and in the second set of parentheses, the terms are \[ \frac15+\frac16+\frac17+\frac18>\frac18+\frac18+\frac18+\frac18=\frac12, \] and so on: \[ \frac19+\frac1{10}+\frac1{11}+\frac1{12}+\frac1{13}+\frac1{14}+\frac1{15}+\frac1{16}>\frac1{16}+\frac1{16}+\frac1{16}+\frac1{16}+\frac1{16}+\frac1{16}+\frac1{16}+\frac1{16}=\frac12. \] Thus \[ 1+\frac12+\bigg(\frac13+\frac14\bigg)+\bigg(\frac15+\frac16+\frac17+\frac18\bigg)+\cdots>1+\frac12+\frac12+\frac12+\cdots = \infty, \] so our infinite sum must be infinite as well.

Anyways, back to our identity. We have \[\log\zeta(1) = \sum_{p\text{ prime}} \frac{1}{p} + \sum_{p\text{ prime}}\frac{1}{2p^2} + \sum_{p\text{ prime}} \frac{1}{3p^3} + \cdots,\] and we know now that \(\log\zeta(1) = \infty.\) Thus \[\infty = \sum_{p\text{ prime}} \frac{1}{p} + \sum_{p\text{ prime}}\frac{1}{2p^2} + \sum_{p\text{ prime}} \frac{1}{3p^3} + \cdots.\]

Here, we have the sum we want, namely \(\sum_p \frac{1}{p},\) but also a bunch of terms we don't want, like \(\sum_p \frac{1}{2p^2}.\) But Euler noticed something here: \[ \begin{align*} \sum_p \frac{1}{2p^2} + \sum_p \frac{1}{3p^3} + \sum_p \frac{1}{4p^4} + \cdots &= \sum_p \left(\frac{1}{2p^2} + \frac{1}{3p^3} + \frac{1}{4p^4} + \cdots\right) \\ &< \sum_p \left(\frac{1}{p^2} + \frac{1}{p^3} + \frac{1}{p^4} + \cdots\right) \\ &= \sum_p \frac{1/p^2}{1 - 1/p} \\ &< \sum_p \frac{1}{p^2 - p} \\ &< \sum_{n=2}^{\infty} \frac{1}{n^2 - n} = 1. \end{align*} \] In this summation, we started by observing that if we make each denominator smaller, then each fraction gets bigger; so, it only makes the sum bigger. Then, we used that the sum \(1/p^2 + 1/p^3 + 1/p^4 + \cdots\) is an example of a geometric series, so using a similar trick to the one we did before, we could compute those infinite sums exactly. Finally, we got a sum of \(1/(p^2 - p)\) over all the primes; we replace this with a sum over all integers (which could only make the final value bigger), and then we can compute \[\sum_{n=2}^{\infty} \frac{1}{n^2 - n} = 1. \] This computation is an example of a telescoping series: \[\frac{1}{n^2 - n} = \frac{1}{n(n-1)} = \frac{1}{n-1} - \frac{1}{n}.\] So, \[\sum_{n=2}^{\infty} \frac{1}{n^2 - n} = \left(1 - \frac{1}{2}\right) + \left(\frac{1}{2} - \frac{1}{3}\right) + \left(\frac{1}{3} - \frac{1}{4}\right) + \cdots,\] and rearranging the parentheses we find \[\sum_{n=2}^{\infty} \frac{1}{n^2 - n} = 1 + \left(-\frac{1}{2} + \frac{1}{2}\right) + \left(-\frac{1}{3} + \frac{1}{3}\right) + \cdots,\] so that all the terms except the 1 cancel.

But the upshot is that we now know \[\sum_p \frac{1}{2p^2} + \sum_p \frac{1}{3p^3} + \sum_p \frac{1}{4p^4} + \cdots < 1.\] So, in our equation \[\sum_p \frac{1}{p} + \left(\sum_p \frac{1}{2p^2} + \sum_p \frac{1}{3p^3} + \sum_p \frac{1}{4p^4} + \cdots\right) = \infty,\] we find that \(\sum_p 1/p,\) plus something smaller than 1, gives \(\infty.\) The only way this could possibly be true is if \[\sum_p \frac{1}{p} = +\infty.\] Finally, we have computed our sum! Just like we saw with the powers of 2 vs even number comparison at the start of this article, the fact that this sum is infinite implies the prime numbers cannot be too sparse.

Even though the sum \[ \frac12+\frac13+\frac15+\frac17+\frac1{11}+\frac1{13}+\cdots \] eventually approaches infinity, it grows extremely slowly. For example, for the sum to surpass 3, you would need to sum all the prime numbers less than 100 million. Euler's remarkable discovery is that even if the series takes forever to surpass 3, it will eventually surpass 3, and 4, and 100, and a million! Too bad we will not live long enough for us to see the sum surpass 5...

In fact, if you're slightly more careful in the above arguments, then you can use the fact that the harmonic series \(\sum_n 1/n\) goes to \(\infty\) at a rate of \(\log(n)\) (meaning that \[1 + \frac{1}{2} + \frac{1}{3} + \frac{1}{4} + \cdots + \frac{1}{n} \approx \log(n),\] so that the partial sums grow logarithmically) to show that the partial sums of \(\sum_p 1/p\) grow like \(\log\log(n).\) The double logarithm function does go to infinity, but it does so incredibly slowly, which is why it's hard to numerically see the divergence of the sum.

Riemann's explicit formula

However, even Euler's result is not the final word on how frequent the primes are. In 1792, Gauss, by looking at incredibly long tables of primes, conjectured that \[\text{number of primes from \(1\) to \(N\)} \approx \int_0^N \frac{dt}{\log(t)} \approx \frac{N}{\log N}.\] Mathematicians now use the notation \(\pi(N)\) to denote the number of prime numbers between \(1\) and \(N\) (inclusive). This integral \(\int_0^N \frac{dt}{\log(t)}\) is called the logarithmic integral, and it is a famous expression in mathematics.

This remarkable formula says, in particular, that if you pick a 20-digit number at random, then it has approximately a \(1/\log(10^{20})\approx2\%\) chance of being a prime number.

Riemann was able to find an even more precise formula computing the number of prime numbers less than a number \(N\). And the magic of Riemann's approach is that his more precise formula involves zeroes of the Riemann zeta function! Moreover, for mathematicians Riemann's formula had another application beyond its improved precision: Gauss was not able to explain why his formula for primes held true; he only was able to show it agreed with data. Riemann's approach allows one to mathematically prove one has a good approximation of \(\pi(N),\) by proving facts about the Riemann zeta function and converting them into facts about primes.

Below, we will derive Riemann's explicit formula, but we will sweep certain analytic difficulties under the rug. For a more precise derivation using complex analysis, look at Riemann's original paper; it is surprisingly readable, and a good exercise for an undergraduate complex analysis student is to read Riemann's paper and prove all of Riemann's claims using the modern mathematical formalism.

Now, on to our explanation of Riemann's paper. To begin, Riemann followed Euler's steps and took the logarithm of the expression \[ \zeta(s)=\prod_p\frac1{1-p^{-s}} \] to get \[ \log\zeta(s)=\sum_pp^{-s}+\frac12\sum_pp^{-2s}+\cdots. \] As we saw in our computation of \(\sum_p 1/p\), though, the terms \[\frac12\sum_pp^{-2s}+\frac{1}{3} \sum_p p^{-3s} + \frac{1}{4}\sum_p p^{-4s} + \cdots \] on the right hand side don't contribute nearly as much to the total sum as \(\sum_p p^{-s},\) so we have the approximate formula \[\log\zeta(s) \approx \sum_p p^{-s}.\]

Riemann re-wrote each summand \(p^{-s}\) into an integral \[ p^{-s}=s\int_p^\infty x^{-s-1} \, dx, \] so that \[ \sum_pp^{-s}=s\sum_p\int_p^\infty x^{-s-1} \, dx. \]

This sum might seem no easier to analyze than \(\sum_p p^{-s},\) but Riemann noticed something very clever. Looking at the start of our sum, we have \[\int_2^{\infty} x^{-s-1} \, dx + \int_3^{\infty} x^{-s-1} \, dx + \int_5^{\infty} x^{-s-1} \, dx.\] We can always split an integral into two pieces \[\int_a^b f(x) \, dx = \int_a^c f(x) \, dx + \int_c^b f(x) \, dx.\] This is just because the area under the graph of \(y=f(x)\) from \(a\) to \(b\) is the same as the area under the graph from \(a\) to \(c,\) plus the area under the graph from \(c\) to \(b.\) So, the first three terms of our sum can be split up as \[\int_2^{\infty} x^{-s-1} \, dx = \int_2^3 x^{-s-1} \, dx + \int_3^5 x^{-s-1} \, dx + \int_5^{\infty} x^{-s-1} \, dx,\] \[\int_3^{\infty} x^{-s-1} \, dx = \hspace{18mm} + \int_3^5 x^{-s-1} \, dx + \int_5^{\infty} x^{-s-1} \, dx,\] \[\int_5^{\infty} x^{-s-1} \, dx = \hspace{45mm} \int_5^{\infty} x^{-s-1} \, dx.\]

So, when we add up the left hand sides, we get a total of \[\int_2^3 1x^{-s-1} \, dx + \int_3^5 2x^{-s-1} \, dx + \int_5^{\infty} 3x^{-s-1} \, dx.\]

Riemann interpreted the coefficients in these integrals in the following way: for \(x\) a number between 2 and 3, we have \(\pi(x) = 1\) (because there is only one prime number between \(1\) and \(x,\) namely 2); for \(x\) a number between 3 and 5, we have \(\pi(x) = 2\) (the two primes are 2 and 3); and so on (here we stop at \(\int_5^{\infty}\) because we only took the sum of the terms corresponding to the primes 2, 3, and 5). Thus, if we take the sum over all primes, we can regroup terms like the above to get \[\sum_p \int_p^{\infty} x^{-s-1} \, dx = \int_1^{\infty} \pi(x)x^{-s-1} \, dx.\] Here, the \(\pi(x)\) is just encoding that between \(1\) and \(2\) we should take the coefficient 0; and between \(2\) and \(3\) we should take the coefficient \(1\); and between \(3\) and \(5\) we should take \(2\), etc.

Putting this all together, Riemann found \[\log\zeta(s) \approx s\int_1^{\infty} \pi(x) \cdot x^{-s-1} \, dx,\] or equivalently \[\frac{\log\zeta(s)}{s} \approx \int_1^{\infty} \pi(x)x^{-s-1} \, dx.\]

This equation has a \(\zeta(s)\) on the left hand side, and a \(\pi(x)\) on the right hand side. How do we solve for the \(\pi(x)\)? To do this, let's first explain how to rewrite \(\zeta(s)\) in a way which makes solving this equation a little easier.

Digression: Factoring functions

If \(f(x)\) is a quadratic polynomial whose zeroes are at 2 and 3, we know \[ f(x)=c(x-2)(x-3) \] for some constant \(c\). Even when \(f\) is not a polynomial, Euler realized the same idea can be applied. For example, \(\sin(x)\) has zeroes at \(0, \pi, -\pi, 2\pi, -2\pi, 3\pi, -3\pi, ...\), so Euler thought there should be some factorization of \(\sin(x)\) into terms like \(x(x-\pi)(x+\pi)(x-2\pi)(x+2\pi)\cdots.\)

Unfortunately, this first guess as to a factorization cannot quite work: if you think about expanding out an infinite product \(x(x-\pi)(x+\pi)(x-2\pi)(x+2\pi)\cdots,\) then because the terms \(\pi, 2\pi, 3\pi, ...\) keep getting bigger and bigger, in the infinite expansion the product would always just be infinite. However, Euler noticed something funny: we can rescale \(x-\pi\) to be \(x/\pi - 1.\) And we can rescale \(x - 2\pi\) to be \(x/2\pi - 1.\) Then the infinite product \[ x\bigg(1-\frac x{\pi}\bigg)\bigg(1+\frac x{\pi}\bigg)\bigg(1-\frac x{2\pi}\bigg)\bigg(1+\frac x{2\pi}\bigg)\cdots \] does make sense, and Euler observed that \[ \sin(x) = x\bigg(1-\frac x{\pi}\bigg)\bigg(1+\frac x{\pi}\bigg)\bigg(1-\frac x{2\pi}\bigg)\bigg(1+\frac x{2\pi}\bigg)\cdots. \] The neighboring terms can be grouped together, since \[ \bigg(1-\frac x{\pi}\bigg)\bigg(1+\frac x{\pi}\bigg)=1-\frac{x^2}{\pi^2}, \] and so we obtain the expansion \[ \sin(x)=x\bigg(1-\frac{x^2}{\pi^2}\bigg)\bigg(1-\frac{x^2}{4\pi^2}\bigg)\bigg(1-\frac{x^2}{9\pi^2}\bigg)\cdots. \]


As a side-note: because \(\sin(x)\) has the Taylor expansion \[\sin(x) = x - \frac{x^3}{6} + \frac{x^5}{120} - \cdots,\] Euler found \[ x\bigg(1-\frac{x^2}{\pi^2}\bigg)\bigg(1-\frac {x^2}{4\pi^2}\bigg)\bigg(1-\frac{x^2}{9\pi^2}\bigg)\cdots = x - \frac{x^3}{6} + \frac{x^5}{120} - \cdots. \] On the left hand side, if you think about expanding out the infinite product, you find that the coefficient of \(x^3\) will be \[-\frac{1}{\pi^2} - \frac{1}{4\pi^2} - \frac{1}{9\pi^2} - \cdots,\] and so by comparing with the coefficient of \(x^3\) on the left hand side, we deduce \[-\frac{1}{\pi^2} - \frac{1}{4\pi^2} - \frac{1}{9\pi^2} - \cdots = -\frac{1}{6}.\] Multiplying both sides by \(-\pi^2,\) we find \[1 + \frac{1}{2^2} + \frac{1}{3^2} + \frac{1}{4^2} + \frac{1}{5^2} + \cdots = \frac{\pi^2}{6}.\] This famous identity, called the Basel sum, was one of Euler's proudest accomplishments!


Hadamard and Weierstrass later made Euler's concept of factoring functions completely mathematically sound, and so for essentially all the mathematical functions which arise in reality, you can do this factoring trick. We will now factor \(\zeta(s)\) this way.

Back to counting primes

Before our detour, we had derived the identity \[ \frac{\log\zeta(s)}s\approx\int_1^\infty\pi(x)x^{-s-1} \, dx, \] where \(\zeta(s)\) is Riemann's zeta function and \(\pi(x)\) is the prime counting function. Our goal was to solve for \(\pi(x)\) in terms of \(\zeta(s)\).

To start, we will factor \(\zeta(s).\) What are its zeroes? Right now, we don't seem to know anything about them, so let's just give them variable names \(\rho_1, \rho_2, \rho_3, ...\) and ignore them. (Technical aside: we are going to ignore the so-called `trivial zeroes' of the Riemann zeta function; this is part of what we sweep under the rug with our use of \(\approx\) instead of exact equalities below. If you know what this means, know we are ignoring them, and if you don't know what this means, then pretend you didn't read this aside!)

There is one small hiccup in factoring \(\zeta(s)\) in terms of the \(\rho\)'s, though: as we saw when showing \(\sum_p 1/p = +\infty,\) the zeta function blows up at \(s=1\); that is, \[\zeta(1) = \infty.\] A point where a function takes on the value \(\infty\) is the opposite of a point where it takes on the value \(0.\) So, in our factorization, instead of just multiplying terms like \(x - \rho,\) we also have to divide by \(x - 1.\)

This leads to the following formula for the Riemann zeta function: \[\zeta(s) \approx \frac{1}{1-s}\prod_{n=1}^{\infty} \left(1 - \frac{s}{\rho_n}\right),\] where recall the \(\rho_n\) are just the zeroes of \(\zeta(s),\) whatever they end up being (we write \(\approx\) because there are technical subtleties with Hadamard and Weierstrass's factorization, which we will ignore). Thus \[\frac{\log\zeta(s)}{s} \approx \frac{\log\left(\frac{1}{1-s}\right)}{s} + \sum_{n=1}^{\infty} \frac{\log\left(1 - \frac{s}{\rho_n}\right)}{s}.\]

Combining this with our earlier identity \[\frac{\log\zeta(s)}{s} \approx \int_1^{\infty} \pi(x)x^{-s-1} \, dx,\] we find that \[\frac{-\log(1-s)}{s} + \sum_{n=1}^{\infty} \frac{\log\left(1 - \frac{s}{\rho_n}\right)}{s} \approx \int_1^{\infty} \pi(x)x^{-s-1} \, dx.\] We want to solve for \(\pi(x)\) in this equation, but right now that's a bit tricky!

Now, instead of solving this full equation, as a warm up we will solve the equation \[\frac{-\log(1-s)}{s} = \int_1^{\infty} F(x)x^{-s-1} \, dx.\]

Division is always a little annoying (and scary!), so let's clear denominators and use integration by parts to rewrite this equation as \[ \begin{align*} -\log(1-s) &= s\int_1^{\infty} F(x)x^{-s-1} \, dx \\ &= -\int_1^{\infty} F(x) \frac{d}{dx}\left(x^{-s}\right) \, dx \\ &= \int_1^{\infty} F'(x) x^{-s} \, dx. \end{align*} \]

If we differentiate both sides of the equation \[-\log(1-s) = \int_1^{\infty} F'(x)x^{-s} \, dx,\] and use Feynman's trick of differentiating under the integral sign, we get \[-\frac{1}{1-s} = \int_1^{\infty} F'(x)\frac{d}{ds}\left(x^{-s}\right) \, dx = \int_1^{\infty} F'(x)\log(x) \cdot x^{-s} \, dx.\]

This equation might seem a little hard to solve, but at this point you might notice something funny: \[\int_1^{\infty} x^{-s} \, dx = -\frac{1}{1-s}.\] So, if \(F'(x)\log(x) = 1,\) then \[\int_1^{\infty} F'(x)\log(x) \cdot x^{-s} \, dx = \int_1^{\infty} x^{-s} \, dx = -\frac{1}{1-s}.\]

Thus, our mystery function \(F(x)\) obeys \(F'(x)\log(x) = 1.\) From here you deduce \(F'(x) = 1/\log(x),\) so by integrating you get \[F(x) = \int_0^x \frac{dt}{\log(t)}.\] This function \(\int_0^x \frac{dt}{\log(t)}\) is a famous special function, called the logarithmic integral, and people usually denote it by \(\operatorname{Li}(x).\) It's good that we got this logarithmic integral, because you might remember that we saw it earlier, when recalling Gauss's approximation to \(\pi(x).\)

Now, recall that we were trying to solve for \(\pi(x)\) in the equation \[\frac{-\log(1-s)}{s} + \sum_{n=1}^{\infty} \frac{\log\left(1-\frac{s}{\rho_n}\right)}{s} \approx \int_1^\infty\pi(x)x^{-s-1} \, dx,\] where recall that the \(\rho_n\) were the zeroes of the Riemann zeta function.

The term \(-\log(1-s)/s\) will contribute a \(\operatorname{Li}(x)\) term to \(\pi(x).\) A similar analysis can be used to prove that the term \(\log(1-s/\rho_n)/s\) will contribute a \(-\operatorname{Li}(x^{\rho_n})\) to \(\pi(x),\) so that when we solve for \(\pi(x)\) in the equation \[\frac{-\log(1-s)}{s} + \sum_{n=1}^{\infty} \frac{\log\left(1-\frac{s}{\rho_n}\right)}{s} \approx \int_1^\infty\pi(x)x^{-s-1} \, dx,\] we get \[\pi(x) \approx \operatorname{Li}(x) - \sum_{n=1}^{\infty} \operatorname{Li}(x^{\rho_n}).\]

Here \(\mathrm{Li}(x)\) is called the main term, because it turns out to be much larger than the terms \(\operatorname{Li}(x^{\rho_n}).\) Recall how earlier we explained that Gauss conjectured \[\pi(x) \approx \operatorname{Li}(x),\] by looking at tables of prime numbers. You can think that Gauss managed to, by looking at numerical data, discover the largest term of a Taylor series; Riemann extended Gauss's work to find the full series \[\pi(x) \approx \operatorname{Li}(x) - \sum_{n=1}^{\infty} \operatorname{Li}(x^{\rho_n}).\] The extra terms Riemann added are not as large as Gauss's initial term (meaning if you just use Gauss's guess, you will still get a very good approximation!), but they do add accuracy, and in certain contexts you might need this extra accuracy. This is just like using a Taylor series approximation: the first term gives you a pretty accurate guess, but if you need more precision you might need to use a few more terms.

But why are the terms \(\operatorname{Li}(x^{\rho})\) so much smaller than \(\operatorname{Li}(x)\)? It turns out (as we remarked when introducing Gauss's guess) that \[\operatorname{Li}(x) \approx \frac{x}{\log(x)}.\] Thus \[\operatorname{Li}(x^{\rho}) \approx \frac{x^{\rho}}{\log(x^{\rho})} = \frac{x^{\rho}}{\rho\log(x)}.\]

The zeroes \(\rho\) of the Riemann \(\zeta\) function (again, ignoring the `trivial' zeroes if you know what those are!) are complex numbers; recall that, when solving a polynomial, you might only find the solutions over the complex numbers. Riemann (with some big help from Hadamard and de la Valleee Poussin!) proved that these complex numbers are all of the form \[\rho = s + it,\] where \(0 \lt s \lt 1.\) It turns out that \[|x^{\rho}| = x^s,\] so the size of \(x^{\rho}\) depends only on how big \(s\) is.

Because \(s\) is always strictly smaller than \(1,\) the term \[ \big|\operatorname{Li}(x^{\rho})\big|\approx \frac{x^s}{|\rho| \log(x)}\] will always be of a smaller order of magnitude then the main term \[\operatorname{Li}(x) \approx \frac{x}{\log x}.\] This is because, for very large numbers \(x,\) a quantity like \(x^{1/2}\) or even \(x^{0.99}\) is much smaller than \(x\) itself.

Gauss's approximation \[\pi(x) \approx \operatorname{Li}(x)\] is as good as possible when all the extra terms \(\operatorname{Li}(x^{\rho})\) are as small as possible; in other words, the best case scenario for Gauss's approximation is that all the values \(s\) (in \(\rho = s+it\)) from above are as close to 0 as possible. If even one value of \(s\) is large, the estimate is messed up.

Unfortunately, Riemann observed a certain symmetry of the \(\zeta\) function: if \(\rho\) is a zero of \(\zeta(s),\) then so is \(1 - \rho.\) This means that if you have a root \(\rho = 0.01 + 3i\), say, where \(s\) is very small, then you're forced to have another root \(1 - \rho = 0.99 - 3i,\) where the real part \(0.99\) is now very big.

Thus the best case scenario, in which Gauss's approximation \[\pi(x) \approx \operatorname{Li}(x)\] is as good as possible, is when every \(\rho\) has \(s = 0.5\) exactly, lying in the exact middle of the interval \([0, 1].\) The famous Riemann hypothesis is the conjecture that every \(\rho\) does have \(s = 0.5\) exactly. Unfortunately, it seems to be very hard to prove, and nobody has yet found a reason why all the zeroes have \(s = 0.5\) exactly!