VOOZH about

URL: https://www.geeksforgeeks.org/dsa/fermats-little-theorem/

⇱ Fermat's little theorem - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Fermat's little theorem

Last Updated : 20 Feb, 2025

Fermat's little theorem states that if p is a prime number, then for any integer a, the number a p - a is an integer multiple of p. 

Here p is a prime number 
ap ≡ a (mod p).


Special Case: If a is not divisible by p, Fermat's little theorem is equivalent to the statement that a p-1-1 is an integer multiple of p. 

ap-1 ≡ 1 (mod p) 
OR 
ap-1 % p = 1 
Here a is not divisible by p. 


Take an Example How Fermat's little theorem works


 Example 1:

 P = an integer Prime number 
a = an integer which is not multiple of P
Let a = 2 and P = 17

According to Fermat's little theorem
2 17 - 1 ≡ 1 mod(17)
we got 65536 % 17 ≡ 1
that mean (65536-1) is an multiple of 17

Example 2:

Find the remainder when you divide 3^100,000 by 53.

Since, 53 is prime number we can apply fermat's little theorem here.
Therefore: 3^53-1 ≡ 1 (mod 53)
3^52 ≡ 1 (mod 53)
Trick: Raise both sides to a larger power so that it is close to 100,000.
= Quotient = 1923 and remainder = 4.Multiplying both sides with 1923: (3^52)^1923 ≡ 1^1923 (mod 53) 3^99996 ≡ 1 (mod 53)Multiplying both sides with 3^4: 3^100,000 ≡ 3^4 (mod 53) 3^100,000 ≡ 81 (mod 53) 3^100,000 ≡ 28 (mod 53).Therefore, the remainder is 28 when you divide 3^100,000 by 53.

Use of Fermat's little theorem

If we know m is prime, then we can also use Fermat's little theorem to find the inverse.

 am-1 ≡ 1 (mod m) 

If we multiply both sides with a-1, we get

 a-1 ≡ a m-2 (mod m) 

Below is the Implementation of above :

Output : 

Modular multiplicative inverse is 4

Time Complexity: O(log m)

Auxiliary Space: O(log m) because of the internal recursion stack.

Some Article Based on Fermat's little theorem

Comment
Article Tags: