Fermat's little theorem

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Fermat's little theorem states that if p is a prime number, then for any integer a, the number a pa is an integer multiple of p. In the notation of modular arithmetic, this is expressed as

a^p \equiv a \pmod p.

For example, if a = 2 and p = 7, 27 = 128, and 128 − 2 = 7 × 18 is an integer multiple of 7.

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, or in symbols

a^{p-1} \equiv 1 \pmod p.[1][2]

For example, if a = 2 and p = 7 then 26 = 64 and 64 − 1 = 63 is a multiple of 7.


Fermat's little theorem is the basis for the Fermat primality test and is one of the fundamental results of elementary number theory. The theorem is named after Pierre de Fermat, who stated it in 1640. It is called the "little theorem" to distinguish it from Fermat's last theorem.[3]

History

Pierre de Fermat

Pierre de Fermat first stated the theorem in a letter dated October 18, 1640, to his friend and confidant Frénicle de Bessy as the following:[3]

If p is a prime and a is any integer not divisible by p, then a p - 1 - 1 is divisible by p.

Fermat did not prove his assertion, only stating:[4]

Et cette proposition est généralement vraie en toutes progressions et en tous nombres premiers; de quoi je vous envoierois la démonstration, si je n'appréhendois d'être trop long.

(And this proposition is generally true for all series and for all prime numbers; the proof of which I would send to you, if I did not fear it being too long.)[5]

Euler provided the first published proof in 1736 in a paper entitled "Theorematum Quorundam ad Numeros Primos Spectantium Demonstratio" in the Proceedings of the St. Petersburg Academy,[6] but Leibniz had given virtually the same proof in an unpublished manuscript from sometime before 1683.[3]

The term "Fermat's Little Theorem" was probably first used in print in 1913 in Zahlentheorie by Kurt Hensel:

Für jede endliche Gruppe besteht nun ein Fundamentalsatz, welcher der kleine Fermatsche Satz genannt zu werden pflegt, weil ein ganz spezieller Teil desselben zuerst von Fermat bewiesen worden ist."

(There is a fundamental theorem holding in every finite group, usually called Fermat's little Theorem because Fermat was the first to have proved a very special part of it.)

An early use in English occurs in A.A. Albert, Modern Higher Algebra (1937), which refers to "the so-called "little" Fermat theorem" on page 206.

Further history

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Some mathematicians independently made the related hypothesis (sometimes incorrectly called the Chinese Hypothesis) that 2p ≡ 2 (mod p) if and only if p is a prime. Indeed, the "if" part is true, and is a special case of Fermat's little theorem. However, the "only if" part of this hypothesis is false: for example, 2341 ≡ 2 (mod 341), but 341 = 11 × 31 is a pseudoprime. See below.

Proofs

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Several proofs of Fermat's little theorem are known. It is frequently proved as a corollary of Euler's theorem.

Generalizations

Fermat's little theorem is a special case of Euler's theorem: for any modulus n and any integer a coprime to n, we have

a^{\varphi (n)} \equiv 1 \pmod{n},

where φ(n) denotes Euler's totient function (which counts the integers between 1 and n that are coprime to n). Euler's theorem is indeed a generalization, because if n = p is a prime number, then φ(p) = p − 1.

A slight generalization of Euler's theorem, which immediately follows from it, is: if a, n, x, y are integers with n positive and a and n coprime, then

If x \equiv y \pmod{\varphi(n)}, then a^x \equiv a^y \pmod{n}.

This follows as x is of the form y + φ(n)k, so

a^x = a^{y + \varphi(n)k} =  a^y (a^{\varphi(n)})^k \equiv a^y 1^k \equiv a^y \pmod{n}.

In this form, the theorem finds many uses in cryptography and, in particular, underlies the computations used in the RSA public key encryption method.[7] The special case with n a prime may be considered a consequence of Fermat's little theorem.

Fermat's little theorem is also related to Carmichael's theorem, as well as to Lagrange's theorem in group theory.

The algebraic setting of Fermat's little theorem can be generalized to finite fields.

Converse

The converse of Fermat's little theorem is not generally true, as it fails for Carmichael numbers. However, a slightly stronger form of the theorem is true, and is known as Lehmer's theorem. The theorem is as follows:

If there exists an a such that

 a^{p-1}\equiv 1\pmod p

and for all primes q dividing p − 1

 a^{(p-1)/q}\not\equiv 1\pmod p

then p is prime.

This theorem forms the basis for the Lucas–Lehmer test, an important primality test.

Pseudoprimes

If a and p are coprime numbers such that a p − 1 − 1 is divisible by p, then p need not be prime. If it is not, then p is called a pseudoprime to base a (or a Fermat pseudoprime). F. Sarrus in 1820 found 341 = 11 × 31 as one of the first pseudoprimes, to base 2.

A number p that is a pseudoprime to base a for every number a coprime to p is called a Carmichael number (e.g. 561). Alternately, any number p satisfying the equality

\gcd\left(\sum_{a=1}^{p-1} a^{p-1}, p\right)=1

is either a prime or a Carmichael number.

See also

Notes

<templatestyles src="Reflist/styles.css" />

Cite error: Invalid <references> tag; parameter "group" is allowed only.

Use <references />, or <references group="..." />

References

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

Further reading

External links


  1. Long 1972, pp. 87–88
  2. Pettofrezzo & Byrkit 1970, pp. 110–111
  3. 3.0 3.1 3.2 Burton 2011, p. 514
  4. Bergeron & Zhao (2004)
  5. Ore 1988, p. 272 for the English translation
  6. Ore 1988, p. 273
  7. Lua error in package.lua at line 80: module 'strict' not found.