This article collects together a variety of proofs of Fermat's little theorem, which states that
for every prime number p and every integer a (see modular arithmetic).
Some of the proofs of Fermat's little theorem given below depend on two simplifications.
The first is that we may assume that a is in the range 0 ≤ a ≤ p − 1. This is a simple consequence of the laws of modular arithmetic; we are simply saying that we may first reduce a modulo p. This is consistent with reducing modulo p, as one can check.
Secondly, it suffices to prove that
for a in the range 1 ≤ a ≤ p − 1. Indeed, if the previous assertion holds for such a, multiplying both sides by a yields the original form of the theorem,
On the other hand, if a = 0 or a = 1, the theorem holds trivially.
This is perhaps the simplest known proof, requiring the least mathematical background. It is an attractive example of a combinatorial proof (a proof that involves counting a collection of objects in two different ways).
The proof given here is an adaptation of Golomb's proof. [1]
To keep things simple, let us assume that a is a positive integer. Consider all the possible strings of p symbols, using an alphabet with a different symbols. The total number of such strings is ap since there are a possibilities for each of p positions (see rule of product).
For example, if p = 5 and a = 2, then we can use an alphabet with two symbols (say A and B), and there are 25 = 32 strings of length 5:
We will argue below that if we remove the strings consisting of a single symbol from the list (in our example, AAAAA and BBBBB), the remaining ap − a strings can be arranged into groups, each group containing exactly p strings. It follows that ap − a is divisible by p.
Let us think of each such string as representing a necklace. That is, we connect the two ends of the string together and regard two strings as the same necklace if we can rotate one string to obtain the second string; in this case we will say that the two strings are friends. In our example, the following strings are all friends:
In full, each line of the following list corresponds to a single necklace, and the entire list comprises all 32 strings.
Notice that in the above list, each necklace with more than one symbol is represented by 5 different strings, and the number of necklaces represented by just one string is 2, i.e. is the number of distinct symbols. Thus the list shows very clearly why 32 − 2 is divisible by 5.
One can use the following rule to work out how many friends a given string S has:
For example, suppose we start with the string S = ABBABBABBABB, which is built up of several copies of the shorter string T = ABB. If we rotate it one symbol at a time, we obtain the following 3 strings:
There aren't any others because ABB is exactly 3 symbols long and cannot be broken down into further repeating strings.
Using the above rule, we can complete the proof of Fermat's little theorem quite easily, as follows. Our starting pool of a p strings may be split into two categories:
The second category contains a p − a strings, and they may be arranged into groups of p strings, one group for each necklace. Therefore, a p − a must be divisible by p, as promised.
This proof uses some basic concepts from dynamical systems. [2]
We start by considering a family of functions Tn(x), where n ≥ 2 is an integer, mapping the interval [0, 1] to itself by the formula
where {y} denotes the fractional part of y. For example, the function T3(x) is illustrated below:
A number x0 is said to be a fixed point of a function f(x) if f(x0) = x0; in other words, if f leaves x0 fixed. The fixed points of a function can be easily found graphically: they are simply the x coordinates of the points where the graph of f(x) intersects the graph of the line y = x. For example, the fixed points of the function T3(x) are 0, 1/2, and 1; they are marked by black circles on the following diagram:
We will require the following two lemmas.
Lemma 1. For any n ≥ 2, the function Tn(x) has exactly n fixed points.
Proof. There are 3 fixed points in the illustration above, and the same sort of geometrical argument applies for any n ≥ 2.
Lemma 2. For any positive integers n and m, and any 0 ≤ x ≤ 1,
In other words, Tmn(x) is the composition of Tn(x) and Tm(x).
Proof. The proof of this lemma is not difficult, but we need to be slightly careful with the endpoint x = 1. For this point the lemma is clearly true, since
So let us assume that 0 ≤ x < 1. In this case,
so Tm(Tn(x)) is given by
Therefore, what we really need to show is that
To do this we observe that {nx} = nx − k, where k is the integer part of nx; then
since mk is an integer.
Now let us properly begin the proof of Fermat's little theorem, by studying the function Tap(x). We will assume that a ≥ 2. From Lemma 1, we know that it has ap fixed points. By Lemma 2 we know that
so any fixed point of Ta(x) is automatically a fixed point of Tap(x).
We are interested in the fixed points of Tap(x) that are not fixed points of Ta(x). Let us call the set of such points S. There are ap − a points in S, because by Lemma 1 again, Ta(x) has exactly a fixed points. The following diagram illustrates the situation for a = 3 and p = 2. The black circles are the points of S, of which there are 32 − 3 = 6.
The main idea of the proof is now to split the set S up into its orbits under Ta. What this means is that we pick a point x0 in S, and repeatedly apply Ta(x) to it, to obtain the sequence of points
This sequence is called the orbit of x0 under Ta. By Lemma 2, this sequence can be rewritten as
Since we are assuming that x0 is a fixed point of Tap(x), after p steps we hit Tap(x0) = x0, and from that point onwards the sequence repeats itself.
However, the sequence cannot begin repeating itself any earlier than that. If it did, the length of the repeating section would have to be a divisor of p, so it would have to be 1 (since p is prime). But this contradicts our assumption that x0 is not a fixed point of Ta.
In other words, the orbit contains exactly p distinct points. This holds for every orbit of S. Therefore, the set S, which contains ap − a points, can be broken up into orbits, each containing p points, so ap − a is divisible by p.
(This proof is essentially the same as the necklace-counting proof given above, simply viewed through a different lens: one may think of the interval [0, 1] as given by sequences of digits in base a (our distinction between 0 and 1 corresponding to the familiar distinction between representing integers as ending in ".0000..." and ".9999..."). Tan amounts to shifting such a sequence by n many digits. The fixed points of this will be sequences that are cyclic with period dividing n. In particular, the fixed points of Tap can be thought of as the necklaces of length p, with Tan corresponding to rotation of such necklaces by n spots.
This proof could also be presented without distinguishing between 0 and 1, simply using the half-open interval [0, 1); then Tn would only have n − 1 fixed points, but Tap − Ta would still work out to ap − a, as needed.)
This proof, due to Euler, [3] uses induction to prove the theorem for all integers a ≥ 0.
The base step, that 0p ≡ 0 (mod p), is trivial. Next, we must show that if the theorem is true for a = k, then it is also true for a = k + 1. For this inductive step, we need the following lemma.
Lemma. For any integers x and y and for any prime p, (x + y)p ≡ xp + yp (mod p).
The lemma is a case of the freshman's dream. Leaving the proof for later on, we proceed with the induction.
Proof. Assume kp ≡ k (mod p), and consider (k+1)p. By the lemma we have
Using the induction hypothesis, we have that kp ≡ k (mod p); and, trivially, 1p = 1. Thus
which is the statement of the theorem for a = k+1. ∎
In order to prove the lemma, we must introduce the binomial theorem, which states that for any positive integer n,
where the coefficients are the binomial coefficients,
described in terms of the factorial function, n! = 1×2×3×⋯×n.
Proof of Lemma. We consider the binomial coefficient when the exponent is a prime p:
The binomial coefficients are all integers. The numerator contains a factor p by the definition of factorial. When 0 < i < p, neither of the terms in the denominator includes a factor of p (relying on the primality of p), leaving the coefficient itself to possess a prime factor of p from the numerator, implying that
Modulo p, this eliminates all but the first and last terms of the sum on the right-hand side of the binomial theorem for prime p. ∎
The primality of p is essential to the lemma; otherwise, we have examples like
which is not divisible by 4.
Using the Lemma, we have:
The proof, which was first discovered by Leibniz (who did not publish it) [4] and later rediscovered by Euler, [3] is a very simple application of the multinomial theorem, which states
where
and the summation is taken over all sequences of nonnegative integer indices k1, k2, ..., km such the sum of all ki is n.
Thus if we express a as a sum of 1s (ones), we obtain
Clearly, if p is prime, and if kj is not equal to p for any j, we have
and if kj is equal to p for some j then
Since there are exactly a elements such that kj = p for some j, the theorem follows.
(This proof is essentially a coarser-grained variant of the necklace-counting proof given earlier; the multinomial coefficients count the number of ways a string can be permuted into arbitrary anagrams, while the necklace argument counts the number of ways a string can be rotated into cyclic anagrams. That is to say, that the nontrivial multinomial coefficients here are divisible by p can be seen as a consequence of the fact that each nontrivial necklace of length p can be unwrapped into a string in p many ways.
This multinomial expansion is also, of course, what essentially underlies the binomial theorem-based proof above)
An additive-combinatorial proof based on formal power product expansions was given by Giedrius Alkauskas. [5] This proof uses neither the Euclidean algorithm nor the binomial theorem, but rather it employs formal power series with rational coefficients.
This proof, [3] [6] discovered by James Ivory [7] and rediscovered by Dirichlet, [8] requires some background in modular arithmetic.
Let us assume that a is positive and not divisible by p.
The idea is that if we write down the sequence of numbers
(A) |
and reduce each one modulo p, the resulting sequence turns out to be a rearrangement of
(B) |
Therefore, if we multiply together the numbers in each sequence, the results must be identical modulo p:
Collecting together the a terms yields
Finally, we may “cancel out” the numbers 1, 2, ..., p − 1 from both sides of this equation, obtaining
There are two steps in the above proof that we need to justify:
We will prove these things below; let us first see an example of this proof in action.
If a = 3 and p = 7, then the sequence in question is
reducing modulo 7 gives
which is just a rearrangement of
Multiplying them together gives
that is,
Canceling out 1 × 2 × 3 × 4 × 5 × 6 yields
which is Fermat's little theorem for the case a = 3 and p = 7.
Let us first explain why it is valid, in certain situations, to “cancel”. The exact statement is as follows. If u, x, and y are integers, and u is not divisible by a prime number p, and if
(C) |
then we may “cancel” u to obtain
(D) |
Our use of this cancellation law in the above proof of Fermat's little theorem was valid because the numbers 1, 2, ..., p − 1 are certainly not divisible by p (indeed they are smaller than p).
We can prove the cancellation law easily using Euclid's lemma, which generally states that if a prime p divides a product ab (where a and b are integers), then p must divide a or b. Indeed, the assertion ( C ) simply means that p divides ux − uy = u(x − y). Since p is a prime which does not divide u, Euclid's lemma tells us that it must divide x − y instead; that is, ( D ) holds.
Note that the conditions under which the cancellation law holds are quite strict, and this explains why Fermat's little theorem demands that p is a prime. For example, 2×2 ≡ 2×5 (mod 6), but it is not true that 2 ≡ 5 (mod 6). However, the following generalization of the cancellation law holds: if u, x, y, and z are integers, if u and z are relatively prime, and if
then we may “cancel” u to obtain
This follows from a generalization of Euclid's lemma.
Finally, we must explain why the sequence
when reduced modulo p, becomes a rearrangement of the sequence
To start with, none of the terms a, 2a, ..., (p − 1)a can be congruent to zero modulo p, since if k is one of the numbers 1, 2, ..., p − 1, then k is relatively prime with p, and so is a, so Euclid's lemma tells us that ka shares no factor with p. Therefore, at least we know that the numbers a, 2a, ..., (p − 1)a, when reduced modulo p, must be found among the numbers 1, 2, 3, ..., p − 1.
Furthermore, the numbers a, 2a, ..., (p − 1)a must all be distinct after reducing them modulo p, because if
where k and m are one of 1, 2, ..., p − 1, then the cancellation law tells us that
Since both k and m are between 1 and p − 1, they must be equal. Therefore, the terms a, 2a, ..., (p − 1)a when reduced modulo p must be distinct. To summarise: when we reduce the p − 1 numbers a, 2a, ..., (p − 1)a modulo p, we obtain distinct members of the sequence 1, 2, ..., p − 1. Since there are exactly p − 1 of these, the only possibility is that the former are a rearrangement of the latter.
This method can also be used to prove Euler's theorem, with a slight alteration in that the numbers from 1 to p − 1 are substituted by the numbers less than and coprime with some number m (not necessarily prime). Both the rearrangement property and the cancellation law (under the generalized form mentioned above) are still satisfied and can be utilized.
For example, if m = 10, then the numbers less than m and coprime with m are 1, 3, 7, and 9. Thus we have:
Therefore,
This proof [9] requires the most basic elements of group theory.
The idea is to recognise that the set G = {1, 2, ..., p − 1}, with the operation of multiplication (taken modulo p), forms a group. The only group axiom that requires some effort to verify is that each element of G is invertible. Taking this on faith for the moment, let us assume that a is in the range 1 ≤ a ≤ p − 1, that is, a is an element of G. Let k be the order of a, that is, k is the smallest positive integer such that ak ≡ 1 (mod p). Then the numbers 1, a, a2, ..., ak −1 reduced modulo p form a subgroup of G whose order is k and therefore, by Lagrange's theorem, k divides the order of G, which is p − 1. So p − 1 = km for some positive integer m and then
To prove that every element b of G is invertible, we may proceed as follows. First, b is coprime to p. Thus Bézout's identity assures us that there are integers x and y such that bx + py = 1. Reading this equality modulo p, we see that x is an inverse for b, since bx ≡ 1 (mod p). Therefore, every element of G is invertible. So, as remarked earlier, G is a group.
For example, when p = 11, the inverses of each element are given as follows:
a | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
a −1 | 1 | 6 | 4 | 3 | 9 | 2 | 8 | 7 | 5 | 10 |
If we take the previous proof and, instead of using Lagrange's theorem, we try to prove it in this specific situation, then we get Euler's third proof, which is the one that he found more natural. [10] [11] Let A be the set whose elements are the numbers 1, a, a2, ..., ak − 1 reduced modulo p. If A = G, then k = p − 1 and therefore k divides p −1. Otherwise, there is some b1 ∈ G\A.
Let A1 be the set whose elements are the numbers b1, ab1, a2b1, ..., ak − 1b1 reduced modulo p. Then A1 has k distinct elements because otherwise there would be two distinct numbers m, n ∈ {0, 1, ..., k − 1} such that amb1 ≡ anb1 (mod p), which is impossible, since it would follow that am ≡ an (mod p). On the other hand, no element of A1 can be an element of A, because otherwise there would be numbers m, n ∈ {0, 1, ..., k − 1} such that amb1 ≡ an (mod p), and then b1 ≡ anak − m ≡ an + k − m (mod p), which is impossible, since b1 ∉ A.
So, the set A∪A1 has 2k elements. If it turns out to be equal to G, then 2k = p −1 and therefore k divides p −1. Otherwise, there is some b2 ∈ G\(A∪A1) and we can start all over again, defining A2 as the set whose elements are the numbers b2, ab2, a2b2, ..., ak − 1b2 reduced modulo p. Since G is finite, this process must stop at some point and this proves that k divides p − 1.
For instance, if a = 5 and p = 13, then, since
we have k = 4 and A = {1, 5, 8, 12}. Clearly, A ≠ G = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}. Let b1 be an element of G\A; for instance, take b1 = 2. Then, since
we have A1 = {2, 3, 10, 11}. Clearly, A∪A1 ≠ G. Let b2 be an element of G\(A∪A1); for instance, take b2 = 4. Then, since
we have A2 = {4, 6, 7, 9}. And now G = A∪A1∪A2.
Note that the sets A, A1, and so on are in fact the cosets of A in G.
In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer n by several integers, then one can determine uniquely the remainder of the division of n by the product of these integers, under the condition that the divisors are pairwise coprime.
In mathematics, modular arithmetic is a system of arithmetic for integers, where numbers "wrap around" when reaching a certain value, called the modulus. The modern approach to modular arithmetic was developed by Carl Friedrich Gauss in his book Disquisitiones Arithmeticae, published in 1801.
In number theory, the law of quadratic reciprocity is a theorem about modular arithmetic that gives conditions for the solvability of quadratic equations modulo prime numbers. Due to its subtlety, it has many formulations, but the most standard statement is:
In number theory, Fermat's little theorem states that if p is a prime number, then for any integer a, the number ap − a is an integer multiple of p. In the notation of modular arithmetic, this is expressed as
In number theory, Euler's theorem states that, if n and a are coprime positive integers, then is congruent to modulo n, where denotes Euler's totient function; that is
In mathematics, a Fermat number, named after Pierre de Fermat (1607–1665), the first known to have studied them, is a positive integer of the form: where n is a non-negative integer. The first few Fermat numbers are: 3, 5, 17, 257, 65537, 4294967297, 18446744073709551617, ....
In number theory, Euler's criterion is a formula for determining whether an integer is a quadratic residue modulo a prime. Precisely,
In number theory, a probable prime (PRP) is an integer that satisfies a specific condition that is satisfied by all prime numbers, but which is not satisfied by most composite numbers. Different types of probable primes have different specific conditions. While there may be probable primes that are composite, the condition is generally chosen in order to make such exceptions rare.
The Miller–Rabin primality test or Rabin–Miller primality test is a probabilistic primality test: an algorithm which determines whether a given number is likely to be prime, similar to the Fermat primality test and the Solovay–Strassen primality test.
In algebra and number theory, Wilson's theorem states that a natural number n > 1 is a prime number if and only if the product of all the positive integers less than n is one less than a multiple of n. That is, the factorial satisfies
In number theory, a Wieferich prime is a prime number p such that p2 divides 2p − 1 − 1, therefore connecting these primes with Fermat's little theorem, which states that every odd prime p divides 2p − 1 − 1. Wieferich primes were first described by Arthur Wieferich in 1909 in works pertaining to Fermat's Last Theorem, at which time both of Fermat's theorems were already well known to mathematicians.
In number theory, the von Staudt–Clausen theorem is a result determining the fractional part of Bernoulli numbers, found independently by Karl von Staudt and Thomas Clausen.
In mathematics, Wolstenholme's theorem states that for a prime number , the congruence
In number theory, a branch of mathematics, the Carmichael functionλ(n) of a positive integer n is the smallest member of the set of positive integers m having the property that
In mathematics, Hensel's lemma, also known as Hensel's lifting lemma, named after Kurt Hensel, is a result in modular arithmetic, stating that if a univariate polynomial has a simple root modulo a prime number p, then this root can be lifted to a unique root modulo any higher power of p. More generally, if a polynomial factors modulo p into two coprime polynomials, this factorization can be lifted to a factorization modulo any higher power of p.
In additive number theory, Fermat's theorem on sums of two squares states that an odd prime p can be expressed as:
Gauss's lemma in number theory gives a condition for an integer to be a quadratic residue. Although it is not useful computationally, it has theoretical significance, being involved in some proofs of quadratic reciprocity.
In modular arithmetic, Thue's lemma roughly states that every modular integer may be represented by a "modular fraction" such that the numerator and the denominator have absolute values not greater than the square root of the modulus.
In number theory, the law of quadratic reciprocity, like the Pythagorean theorem, has lent itself to an unusually large number of proofs. Several hundred proofs of the law of quadratic reciprocity have been published.
In algebraic number theory Eisenstein's reciprocity law is a reciprocity law that extends the law of quadratic reciprocity and the cubic reciprocity law to residues of higher powers. It is one of the earliest and simplest of the higher reciprocity laws, and is a consequence of several later and stronger reciprocity laws such as the Artin reciprocity law. It was introduced by Eisenstein, though Jacobi had previously announced a similar result for the special cases of 5th, 8th and 12th powers in 1839.