Fermat's Little Theorem
It is a fundamental result in number theory.
Theorem. Given a prime p p p , for every positive integer a ∈ N + a \in \mathbb{N}^+ a ∈ N + , if a ≠ 0 ( m o d p ) a \neq 0 \pmod p a = 0 ( mod p ) , then
a p − 1 = 1 ( m o d p ) .
a^{p - 1} = 1 \quad \pmod p.
a p − 1 = 1 ( mod p ) .
It suffices to prove the theorem for numbers in F p + ≐ { 1 , 2 , . . . , p − 1 } \mathbb{F}_p^+ \doteq \{ 1, 2, ..., p - 1\} F p + ≐ { 1 , 2 , ... , p − 1 } .
Proof One
Define the function f : F p + → F p + f : \mathbb{F}_p^+ \rightarrow \mathbb{F}_p^+ f : F p + → F p + to be
f ( x ) = a x ( m o d p ) .
f(x) = ax \pmod p.
f ( x ) = a x ( mod p ) . For every x ≠ x ′ ∈ F p + x \neq x' \in \mathbb{F}_p^+ x = x ′ ∈ F p + , a x ≠ a x ′ m o d p ax \neq ax' \mod p a x = a x ′ mod p , otherwise ( x − x ′ ) ∣ p (x - x') \mid p ( x − x ′ ) ∣ p . Hence f f f is a bijection and
{ f ( 1 ) , f ( 2 ) , . . . , f ( p − 1 ) } = F p + .
\{f(1), f(2), ..., f(p - 1)\} = \mathbb{F}_p^+.
{ f ( 1 ) , f ( 2 ) , ... , f ( p − 1 )} = F p + . Now we take product over all number in these two sets to obtain
( p − 1 ) ! = ∏ i = 1 p − 1 ( a i ) = a p − 1 ( p − 1 ) ! ( m o d p )
(p - 1)! = \prod_{i = 1}^{p - 1} (ai) = a^{p - 1} (p - 1)! \pmod p
( p − 1 )! = i = 1 ∏ p − 1 ( ai ) = a p − 1 ( p − 1 )! ( mod p ) As p p p is a prime, every non-zero integer has a multiplicative inverse mod p p p . Therefore we can cancel out ( p − 1 ) ! (p - 1)! ( p − 1 )! from both side and get
1 = a p − 1 ( m o d p ) .
1 = a^{p - 1} \pmod p.
1 = a p − 1 ( mod p ) . □ \square □
Remark: Fermat-Euler theorem relaxes the condition of p p p being prime. It states that ∀ p , a ∈ N + \forall p, a \in \mathbb{N}^+ ∀ p , a ∈ N + with gcd ( a , p ) = 1 \gcd(a, p) = 1 g cd( a , p ) = 1 (i.e., a a a and p p p are coprime), we have
a φ ( p ) = 1 ( m o d p ) ,
a^{\varphi(p)} = 1 \pmod p,
a φ ( p ) = 1 ( mod p ) , where φ ( p ) \varphi(p) φ ( p ) is the number of elements that are coprime to p p p in { 1 , 2 , . . , p − 1 } \{1, 2, .., p - 1\} { 1 , 2 , .. , p − 1 } . When p p p is prime, φ ( p ) = p − 1 \varphi(p) = p - 1 φ ( p ) = p − 1 .
The proof for the theorem is similar to the previous one. Let
S ⊆ { 1 , 2 , . . , p − 1 }
S \subseteq \{1, 2, .., p - 1\}
S ⊆ { 1 , 2 , .. , p − 1 } be the set of numbers coprime to p p p and define f : S → S f: S \rightarrow S f : S → S to be
f ( x ) = a x ( m o d p )
f(x) = ax \pmod p
f ( x ) = a x ( mod p ) which is a bijection. Therefore,
∏ x ∈ S x = a φ ( p ) ∏ x ∈ S x ( m o d p )
\prod_{x \in S} x = a^{\varphi(p)} \prod_{x \in S} x \pmod p
x ∈ S ∏ x = a φ ( p ) x ∈ S ∏ x ( mod p ) Cancelling out the factor ∏ x ∈ S x \prod_{x \in S} x ∏ x ∈ S x from both side gives the desired result.
Proof Two
This proof uses the binomial expansion as follows:
( a + 1 ) p = a p + ( p 1 ) a p − 1 + . . . + ( p p − 1 ) a + 1 ( m o d p ) = a p + 1 ( m o d p ) = ( a − 1 ) p + 1 + 1 ( m o d p ) = . . . = 1 + 1 + . . . + 1 ⏟ a + 1 ( m o d p ) = a + 1 ( m o d p )
\begin{aligned}
(a + 1)^p
&= a^p + \binom{p}{1} a^{p - 1} + ... + \binom{p}{p - 1} a + 1 &\pmod p \\
&= a^{p} + 1 &\pmod p \\
&= (a - 1)^{p} + 1 + 1 &\pmod p \\
&= ... \\
&= \begin{matrix} \underbrace{1 + 1 + ... + 1} \\ a + 1 \end{matrix} &\pmod p \\
&= a + 1 &\pmod p
\end{aligned}
( a + 1 ) p = a p + ( 1 p ) a p − 1 + ... + ( p − 1 p ) a + 1 = a p + 1 = ( a − 1 ) p + 1 + 1 = ... = 1 + 1 + ... + 1 a + 1 = a + 1 ( mod p ) ( mod p ) ( mod p ) ( mod p ) ( mod p ) The second equality holds since for 1 ≤ i ≤ p − 1 1 \le i \le p - 1 1 ≤ i ≤ p − 1 , the coefficient ( p i ) = p ( p − 1 ) . . . ( p − i + 1 ) i ! \binom{p}{i} = \frac{p (p - 1) ... (p - i + 1)}{i !} ( i p ) = i ! p ( p − 1 ) ... ( p − i + 1 ) divides p p p , as p p p is relative prime to all integers 1 , 2 , . . . , i 1, 2, ..., i 1 , 2 , ... , i . The third equality follows from respectively applying the previous expansion. Finally, we get Fermat's Little Theorem by multiplying both sides of ( a + 1 ) p = ( a + 1 ) ( m o d p ) (a + 1)^p = (a + 1) \pmod p ( a + 1 ) p = ( a + 1 ) ( mod p ) by the inverse of a + 1 a + 1 a + 1 module p p p .
Proof Three
Let a ∈ F p + a \in \mathbb{F}_p^+ a ∈ F p + . Consider the following numbers in F p + \mathbb{F}_p^+ F p + :
a , a 2 , a 3 , a 4 , a 5 , . . .
a, a^2, a^3, a^4, a^5, ...
a , a 2 , a 3 , a 4 , a 5 , ... As there are only p − 1 p - 1 p − 1 distinct numbers in F p + \mathbb{F}_p^+ F p + , it holds that there exits a smallest h ∈ N + h \in \mathbb{N}_+ h ∈ N + , such that
a h = 1 ( m o d p ) .
a^h = 1 \pmod p.
a h = 1 ( mod p ) . Now consider the following procedure:
U ← F p + ; \mathcal{U} \leftarrow \mathbb{F}_p^+; U ← F p + ;
C ← { } , i ← 0 \mathcal{C} \leftarrow \{ \}, i \leftarrow 0 C ← { } , i ← 0 ;
while U ≠ ∅ \mathcal{U} \neq \emptyset U = ∅ do:
\qquad i ← i + 1 i \leftarrow i + 1 i ← i + 1 ;
\qquad let b b b be an element in U \mathcal{U} U ;
\qquad let S i ← { b , a b , a 2 b , . . . , a h − 1 b } S_i \leftarrow \{ b, ab, a^2b, ..., a^{h - 1} b\} S i ← { b , ab , a 2 b , ... , a h − 1 b } ;
\qquad U ← U ∖ S i \mathcal{U} \leftarrow \mathcal{U} \setminus S_i U ← U ∖ S i ;
\qquad C ← C ∪ { S i } \mathcal{C} \leftarrow \mathcal{C} \cup \{ S_i \} C ← C ∪ { S i } ;
Suppose that C = { S 1 , . . . , S m } \mathcal{C} = \{ S_1, ..., S_m \} C = { S 1 , ... , S m } . We claim that
The elements in S i S_i S i are distinct. Otherwise,
a k b = a ℓ b ( m o d p ) ⟹ a k − ℓ b = 0 ( m o d p ) ,
a^k b = a^\ell b \pmod p \Longrightarrow a^{k - \ell} b= 0 \pmod p,
a k b = a ℓ b ( mod p ) ⟹ a k − ℓ b = 0 ( mod p ) , a contradiction. If follows that ∣ S i ∣ = h |S_i| = h ∣ S i ∣ = h .
For i ≠ j i \neq j i = j , S i ∩ S j = ∅ S_i \cap S_j = \emptyset S i ∩ S j = ∅ . Otherwise, let b ∈ S i ∩ S j b \in S_i \cap S_j b ∈ S i ∩ S j . Then every element in S i ∪ S j S_i \cup S_j S i ∪ S j can be expressed as a k b a^k b a k b for some integer k k k .
It follows that C \mathcal{C} C is a partition of F p + \mathbb{F}_p^+ F p + . As each set in C \mathcal{C} C has the same size, we have h ∣ ( p − 1 ) h \mid (p - 1) h ∣ ( p − 1 ) and
a p − 1 = 1 ( m o d p ) .
a^{p - 1} = 1 \pmod p.
a p − 1 = 1 ( mod p ) . □ \square □
← Back to all notes Back to top ↑