Formula for primes

In number theory, a formula for primes is a formula generating the prime numbers, exactly and without exception. Formulas for calculating primes do exist, however, they are computationally very slow. A number of constraints are known, showing what such a "formula" can and cannot be.

Formulas based on Wilson's theorem
A simple formula is
 * $$f(n) = \left\lfloor \frac{n! \bmod (n+1)}{n} \right\rfloor (n-1) + 2$$

for positive integer $$n$$, where $$\lfloor\ \rfloor$$ is the floor function, which rounds down to the nearest integer. By Wilson's theorem, $$n+1$$ is prime if and only if $$n! \equiv n \pmod{n+1}$$. Thus, when $$n+1$$ is prime, the first factor in the product becomes one, and the formula produces the prime number $$n+1$$. But when $$n+1$$ is not prime, the first factor becomes zero and the formula produces the prime number 2. This formula is not an efficient way to generate prime numbers because evaluating $$n! \bmod (n+1)$$ requires about $$n-1$$ multiplications and reductions modulo $$n+1$$.

In 1964, Willans gave the formula
 * $$p_n = 1 + \sum_{i=1}^{2^n} \left\lfloor \left(\frac{n}{\sum_{j=1}^i \left\lfloor\left(\cos \frac{(j-1)! + 1}{j} \pi\right)^2\right\rfloor }\right)^{1/n} \right\rfloor$$

for the $$n$$th prime number $$p_n$$. This formula reduces to $$p_n = 1 + \sum_{i=1}^{2^n}[\pi(i) < n]$$; that is, it tautologically defines $$p_n$$ as the smallest integer m for which the prime-counting function $$\pi(m)$$ is at least n. This formula is also not efficient. In addition to the appearance of $$(j-1)!$$, it computes $$p_n$$ by adding up $$p_n$$ copies of $$1$$; for example, $$p_5 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + \dots + 0 = 11$$.

The articles What is an Answer? by Herbert Wilf (1982) and Formulas for Primes by Underwood Dudley (1983) have further discussion about the worthlessness of such formulas.

Formula based on a system of Diophantine equations
Because the set of primes is a computably enumerable set, by Matiyasevich's theorem, it can be obtained from a system of Diophantine equations. found an explicit set of 14 Diophantine equations in 26 variables, such that a given number k&thinsp;+&thinsp;2 is prime if and only if that system has a solution in nonnegative integers:


 * $$\alpha_0= wz + h + j - q = 0$$


 * $$\alpha_1 = (gk + 2g + k + 1)(h + j) + h - z = 0$$


 * $$\alpha_2= 16(k + 1)^3(k + 2)(n + 1)^2 + 1 - f^2 = 0$$


 * $$\alpha_3= 2n + p + q + z - e = 0$$


 * $$\alpha_4= e^3(e + 2)(a + 1)^2 + 1 - o^2 = 0$$


 * $$\alpha_5=(a^2 - 1)y^2 + 1 - x^2 = 0$$


 * $$\alpha_6= 16r^2y^4(a^2 - 1) + 1 - u^2 = 0$$


 * $$\alpha_7= n + \ell + v - y = 0$$


 * $$\alpha_8= (a^2 - 1)\ell^2 + 1 - m^2 = 0$$


 * $$\alpha_9= ai + k + 1 - \ell - i = 0$$


 * $$\alpha_{10}= ((a + u^2(u^2 - a))^2 - 1)(n + 4dy)^2 + 1 - (x + cu)^2 = 0$$


 * $$\alpha_{11}= p + \ell(a - n - 1) + b(2an + 2a - n^2 - 2n - 2) - m= 0 $$


 * $$\alpha_{12}= q + y(a - p - 1) + s(2ap + 2a - p^2 - 2p - 2) - x = 0$$


 * $$\alpha_{13}= z + p\ell(a - p) + t(2ap - p^2 - 1) - pm = 0$$

The 14 equations α0, …, α13 can be used to produce a prime-generating polynomial inequality in 26 variables:


 * $$ (k+2)(1-\alpha_0^2-\alpha_1^2-\cdots-\alpha_{13}^2) > 0.$$

That is,



\begin{align} & (k+2) (1 - {} \\[6pt] & [wz + h + j - q]^2 - {} \\[6pt] & [(gk + 2g + k + 1)(h + j) + h - z]^2 - {} \\[6pt] & [16(k + 1)^3(k + 2)(n + 1)^2 + 1 - f^2]^2 - {} \\[6pt] & [2n + p + q + z - e]^2 - {} \\[6pt] & [e^3(e + 2)(a + 1)^2 + 1 - o^2]^2 - {} \\[6pt] & [(a^2 - 1)y^2 + 1 - x^2]^2 - {} \\[6pt] & [16r^2y^4(a^2 - 1) + 1 - u^2]^2 - {} \\[6pt] & [n + \ell + v - y]^2 - {} \\[6pt] & [(a^2 - 1)\ell^2 + 1 - m^2]^2 - {} \\[6pt] & [ai + k + 1 - \ell - i]^2 - {} \\[6pt] & [((a + u^2(u^2 - a))^2 - 1)(n + 4dy)^2 + 1 - (x + cu)^2]^2 - {} \\[6pt] & [p + \ell(a - n - 1) + b(2an + 2a - n^2 - 2n - 2) - m]^2 - {} \\[6pt] & [q + y(a - p - 1) + s(2ap + 2a - p^2 - 2p - 2) - x]^2 - {} \\[6pt] & [z + p\ell(a - p) + t(2ap - p^2 - 1) - pm]^2) \\[6pt] & > 0 \end{align} $$

is a polynomial inequality in 26 variables, and the set of prime numbers is identical to the set of positive values taken on by the left-hand side as the variables a, b, …, z range over the nonnegative integers.

A general theorem of Matiyasevich says that if a set is defined by a system of Diophantine equations, it can also be defined by a system of Diophantine equations in only 9 variables. Hence, there is a prime-generating polynomial as above with only 10 variables. However, its degree is large (in the order of 1045). On the other hand, there also exists such a set of equations of degree only 4, but in 58 variables.

Mills' formula
The first such formula known was established by, who proved that there exists a real number A such that, if


 * $$d_n = A^{3^{n}}$$

then


 * $$\left \lfloor d_n \right \rfloor = \left \lfloor A^{3^{n}} \right \rfloor$$

is a prime number for all positive integers n. If the Riemann hypothesis is true, then the smallest such A has a value of around 1.3063778838630806904686144926... and is known as Mills' constant. This value gives rise to the primes $$\left \lfloor d_1 \right \rfloor = 2$$, $$\left \lfloor d_2 \right \rfloor = 11$$, $$\left \lfloor d_3 \right \rfloor = 1361$$, ... . Very little is known about the constant A (not even whether it is rational). This formula has no practical value, because there is no known way of calculating the constant without finding primes in the first place.

Note that there is nothing special about the floor function in the formula. Tóth proved that there also exists a constant $$B$$ such that


 * $$ \lceil B^{r^{n}} \rceil$$

is also prime-representing for $$r>2.106\ldots$$.

In the case $$r=3$$, the value of the constant $$B$$ begins with 1.24055470525201424067... The first few primes generated are:


 * $$2, 7, 337, 38272739, 56062005704198360319209, $$
 * $$ 176199995814327287356671209104585864397055039072110696028654438846269, \ldots$$

Without assuming the Riemann hypothesis, Elsholtz developed several prime-representing functions similar to those of Mills. For example, if $$A = 1.00536773279814724017 \ldots$$, then $$\left\lfloor A^{10^{10n}} \right\rfloor$$ is prime for all positive integers $$n$$. Similarly, if $$A = 3.8249998073439146171615551375 \ldots$$, then $$\left\lfloor A^{3^{13n}} \right\rfloor$$ is prime for all positive integers $$n$$.

Wright's formula
Another tetrationally growing prime-generating formula similar to Mills' comes from a theorem of E. M. Wright. He proved that there exists a real number α such that, if
 * $$g_0 = \alpha$$ and
 * $$g_{n+1} = 2^{g_n}$$ for $$n \ge 0$$,

then
 * $$\left \lfloor g_n \right \rfloor = \left \lfloor 2^{\dots^{2^{2^\alpha}}} \right \rfloor $$

is prime for all $$n \ge 1$$. Wright gives the first seven decimal places of such a constant: $$\alpha = 1.9287800$$. This value gives rise to the primes $$\left \lfloor g_1 \right \rfloor = \left \lfloor 2^{\alpha} \right \rfloor = 3 $$, $$\left \lfloor g_2 \right \rfloor = 13 $$, and $$\left \lfloor g_3 \right \rfloor = 16381 $$. $$\left \lfloor g_4 \right \rfloor$$ is even, and so is not prime. However, with $$\alpha = 1.9287800 + 8.2843 \cdot 10^{-4933}$$, $$\left \lfloor g_1 \right \rfloor$$, $$\left \lfloor g_2 \right \rfloor$$, and $$\left \lfloor g_3 \right \rfloor$$ are unchanged, while $$\left \lfloor g_4 \right \rfloor$$ is a prime with 4932 digits. This sequence of primes cannot be extended beyond $$\left \lfloor g_4 \right \rfloor$$ without knowing more digits of $$\alpha$$. Like Mills' formula, and for the same reasons, Wright's formula cannot be used to find primes.

A function that represents all primes
Given the constant $$f_1 = 2.920050977316\ldots$$, for $$n \ge 2$$, define the sequence

where $$\left\lfloor\ \right\rfloor$$ is the floor function. Then for $$n \ge 1$$, $$\left\lfloor f_{n} \right\rfloor$$ equals the $$n$$th prime: $$\left\lfloor f_1 \right\rfloor = 2$$, $$\left\lfloor f_2 \right\rfloor = 3$$, $$\left\lfloor f_3 \right\rfloor = 5$$, etc. The initial constant $$f_1 = 2.920050977316$$ given in the article is precise enough for equation ($$) to generate the primes through 37, the $$12$$th prime.

The exact value of $$f_1$$ that generates all primes is given by the rapidly-converging series

f_1 = \sum_{n=1}^\infty \frac{p_n - 1}{P_n} = \frac{2 - 1}{1} + \frac{3 - 1}{2} + \frac{5 - 1}{2 \cdot 3} + \frac{7 - 1}{2 \cdot 3 \cdot 5} + \cdots, $$ where $$p_n$$ is the $$n$$th prime, and $$P_n$$ is the product of all primes less than $$p_n$$. The more digits of $$f_1$$ that we know, the more primes equation ($$) will generate. For example, we can use 25 terms in the series, using the 25 primes less than 100, to calculate the following more precise approximation:
 * $$f_1 \simeq 2.920050977316134712092562917112019.$$

This has enough digits for equation ($$) to yield again the 25 primes less than 100.

As with Mills' formula and Wright's formula above, in order to generate a longer list of primes, we need to start by knowing more digits of the initial constant, $$f_1$$, which in this case requires a longer list of primes in its calculation.

Plouffe's formulas
In 2018 Simon Plouffe conjectured a set of formulas for primes. Similarly to the formula of Mills, they are of the form


 * $$\left\{a_0^{r^n}\right\}$$

where $$\{\ \}$$ is the function rounding to the nearest integer. For example, with $$a_0\approx 43.80468771580293481$$ and $$r=5/4$$, this gives 113, 367, 1607, 10177, 102217... . Using $$a_0=10^{500}+961+\varepsilon$$ and $$r=1.01$$ with $$\varepsilon$$ a certain number between 0 and one half, Plouffe found that he could generate a sequence of 50 probable primes (with high probability of being prime). Presumably there exists an ε such that this formula will give an infinite sequence of actual prime numbers. The number of digits starts at 501 and increases by about 1% each time.

Prime formulas and polynomial functions
It is known that no non-constant polynomial function P(n) with integer coefficients exists that evaluates to a prime number for all integers n. The proof is as follows: suppose that such a polynomial existed. Then P(1) would evaluate to a prime p, so $$P(1) \equiv 0 \pmod p$$. But for any integer k, $$P(1+kp) \equiv 0 \pmod p$$ also, so $$P(1+kp)$$ cannot also be prime (as it would be divisible by p) unless it were p itself. But the only way $$P(1+kp) = P(1) = p$$ for all k is if the polynomial function is constant. The same reasoning shows an even stronger result: no non-constant polynomial function P(n) exists that evaluates to a prime number for almost all integers n.

Euler first noticed (in 1772) that the quadratic polynomial


 * $$P(n) = n^2 + n + 41$$

is prime for the 40 integers n = 0, 1, 2, ..., 39, with corresponding primes 41, 43, 47, 53, 61, 71, ..., 1601. The differences between the terms are 2, 4, 6, 8, 10... For n = 40, it produces a square number, 1681, which is equal to 41&thinsp;×&thinsp;41, the smallest composite number for this formula for n ≥ 0. If 41 divides n, it divides P(n) too. Furthermore, since P(n) can be written as n(n +&thinsp;1) + 41, if 41 divides n +&thinsp;1 instead, it also divides P(n). The phenomenon is related to the Ulam spiral, which is also implicitly quadratic, and the class number; this polynomial is related to the Heegner number $$163=4\cdot 41-1$$. There are analogous polynomials for $$p=2, 3, 5, 11 \text{ and } 17$$ (the lucky numbers of Euler), corresponding to other Heegner numbers.

Given a positive integer S, there may be infinitely many c such that the expression n2 + n + c is always coprime to S. The integer c may be negative, in which case there is a delay before primes are produced.

It is known, based on Dirichlet's theorem on arithmetic progressions, that linear polynomial functions $$L(n) = an + b$$ produce infinitely many primes as long as a and b are relatively prime (though no such function will assume prime values for all values of n). Moreover, the Green–Tao theorem says that for any k there exists a pair of a and b, with the property that $$L(n) = an+b$$ is prime for any n from 0 through k − 1. However, the best known result of such type is for k = 27:


 * $$224584605939537911 + 18135696597948930n$$

is prime for all n from 0 through 26. It is not even known whether there exists a univariate polynomial of degree at least 2, that assumes an infinite number of values that are prime; see Bunyakovsky conjecture.

Possible formula using a recurrence relation
Another prime generator is defined by the recurrence relation
 * $$ a_n = a_{n-1} + \gcd(n,a_{n-1}), \quad a_1 = 7, $$

where gcd(x, y) denotes the greatest common divisor of x and y. The sequence of differences an+1 − an starts with 1, 1, 1, 5, 3, 1, 1, 1, 1, 11, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 47, 3, 1, 5, 3, ... . proved that this sequence contains only ones and prime numbers. However, it does not contain all the prime numbers, since the terms gcd(n +&thinsp;1, an) are always odd and so never equal to 2. 587 is the smallest prime (other than 2) not appearing in the first 10,000 outcomes that are different from 1. Nevertheless, in the same paper it was conjectured to contain all odd primes, even though it is rather inefficient.

Note that there is a trivial program that enumerates all and only the prime numbers, as well as more efficient ones, so such recurrence relations are more a matter of curiosity than of any practical use.