Μικρό θεώρημα του Φερμά

Στην θεωρία αριθμών, τo μικρό θεώρημα του Φερμά αναφέρει πως αν ο p είναι πρώτος αριθμός, τότε για οποιονδήποτε ακέραιο a ο αριθμός ap − a είναι ένα ακέραιο πολλαπλάσιο του p. Με το συμβολισμό της αριθμητικής για τα ισοϋπόλοιπα, αυτό γράφεται ως: a p ≡ a ( mod p ) . {\displaystyle a^{p}\equiv a{\pmod {p}}.} Για παράδειγμα, αν a = 2 και p = 7, τότε 27-2 = 128−2 = 126 = 7 × 18, που είναι πολλαπλάσιο του 7. Αν το a δεν διαιρείται από το p, τότε το μικρό θεώρημα του Φερμά είναι ισοδύναμο με το ότι το ap − 1 − 1 είναι ένα ακέραιο πολλαπλάσιο του p, ή με σύμβολα: a p − 1 ≡ 1 ( mod p ) . {\displaystyle a^{p-1}\equiv 1{\pmod {p}}.} Για παράδειγμα, αν a = 2 και p = 7, τότε 26-1 = 64−1 = 63 = 7 × 9, που είναι πολλαπλάσιο του 7. Το θεώρημα (ή παραλλαγές αυτού) χρησιμοποιείται σε αλγορίθμους για τον έλεγχο πρώτων αριθμών, καθώς και για την επιτάχυνση του υπολογισμού υπολοίπων που χρησιμοποιείται σε αρκετές εφαρμογές της θεωρίας αριθμών, όπως η κρυπτογραφία.

 Για τα στοιχεία του Z 3 {\displaystyle \mathbb {Z} _{3}} έχουμε ότιΓια τα στοιχεία του Z 5 {\displaystyle \mathbb {Z} _{5}} έχουμε ότιΓια τα στοιχεία του Z 7 {\displaystyle \mathbb {Z} _{7}} έχουμε ότι Θα αποδείξουμε ότι a p ≡ a ( mod p ) {\displaystyle a^{p}\equiv a{\pmod {p}}} με την χρήση της μαθηματικής επαγωγής για a = 1 , … , p − 1 {\displaystyle a=1,\ldots ,p-1} .Βασική περίπτωση: Για a = 1 {\displaystyle a=1} , προφανώς a p = 1 ≡ a ( mod p ) {\displaystyle a^{p}=1\equiv a{\pmod {p}}} . Επαγωγική περίπτωση: Ας υποθέσουμε ότι για τυχόν a > 0 {\displaystyle a>0} ισχύει ότι a p ≡ a ( mod p ) {\displaystyle a^{p}\equiv a{\pmod {p}}} . Τότε από το διωνυμικό θεώρημα, ισχύει ότι ( a + 1 ) p = ∑ k = 0 p ( a q ) ⋅ a q {\displaystyle (a+1)^{p}=\sum _{k=0}^{p}{\binom {a}{q}}\cdot a^{q}} .Από τον ορισμό των διωνυμικών συντελεστών, έχουμε ότι ( p k ) = p ! k ! ( p − k ) ! = p ⋅ ( p − 1 ) ⋅ … ⋅ ( p − k + 1 ) k ! {\displaystyle {\binom {p}{k}}={\frac {p!}{k!(p-k)!}}={\frac {p\cdot (p-1)\cdot \ldots \cdot (p-k+1)}{k!}}} .Αφού ο p {\displaystyle p} είναι πρώτος αριθμός, κανένας από τους 2 , … , k {\displaystyle 2,\ldots ,k} δεν διαιρεί τον p {\displaystyle p} , καθώς k < p {\displaystyle k<p} . Επομένως, p ∣ ( p k ) {\displaystyle p\mid {\binom {p}{k}}} .Επιστρέφοντας στο διωνυμικό ανάπτυγμα, έχουμε ότι μόνο δύο όροι δεν είναι πολλαπλάσια του p {\displaystyle p} . Συνεπώς, ( a + 1 ) p = ∑ k = 0 p ( a q ) ⋅ a q ≡ ( a p ) a p + ( a 0 ) a 0 ≡ a p + 1 ( mod p ) {\displaystyle (a+1)^{p}=\sum _{k=0}^{p}{\binom {a}{q}}\cdot a^{q}\equiv {\binom {a}{p}}a^{p}+{\binom {a}{0}}a^{0}\equiv a^{p}+1{\pmod {p}}} .Χρησιμοποιώντας την επαγωγική υπόθεση, έχουμε ότι ( a + 1 ) p ≡ a + 1 ( mod p ) . {\displaystyle (a+1)^{p}\equiv a+1{\pmod {p}}.} Επομένως, αυτό ολοκληρώνει την επαγωγή και συνεπώς ισχύει για όλα τα a = 1 , … , p − 1 {\displaystyle a=1,\ldots ,p-1} . Για μεγαλύτερα a {\displaystyle a} , προκύπτει από την πολλαπλασιαστική ιδιότητα των υπολοίπων. Για κάθε a = 1 , … , p − 1 {\displaystyle a=1,\ldots ,p-1} ισχύει ότι ( a , p ) = 1 {\displaystyle (a,p)=1} , δηλαδή ο a {\displaystyle a} και ο p {\displaystyle p} είναι αριθμοί πρώτοι μεταξύ τους. Επομένως προκύπτει ότι υπάρχει μοναδικός αριθμός a − 1 ∈ { 1 , … , p − 1 } {\displaystyle a^{-1}\in \{1,\ldots ,p-1\}} ώστε a ⋅ a − 1 ≡ 1 ( mod p ) {\displaystyle a\cdot a^{-1}\equiv 1{\pmod {p}}} , ο πολλαπλασιαστικός αντίστροφος του a {\displaystyle a} . Θεωρούμε την συνάρτηση f a : { 1 , … , p − 1 } → { 1 , … , p − 1 } {\displaystyle f_{a}:\{1,\ldots ,p-1\}\to \{1,\ldots ,p-1\}} που ορίζουμε ως εξής f a ( x ) = ( a ⋅ x ) mod p {\displaystyle f_{a}(x)=(a\cdot x)\mod p} .Από την ιδιότητα του πολλαπλασιαστικού αντιστρόφου ισχύει ότι η f {\displaystyle f} είναι ένα προς ένα. Επομένως, το γινόμενο f a ( 1 ) ⋅ … ⋅ f a ( p − 1 ) ≡ a ⋅ ( 2 a ) ⋅ … ⋅ ( ( p − 1 ) ⋅ a ) ≡ 1 ⋅ 2 ⋅ … ⋅ ( p − 1 ) ( mod p ) {\displaystyle f_{a}(1)\cdot \ldots \cdot f_{a}(p-1)\equiv a\cdot (2a)\cdot \ldots \cdot ((p-1)\cdot a)\equiv 1\cdot 2\cdot \ldots \cdot (p-1){\pmod {p}}} .Συνεπώς, αναδιατάσσοντας τους όρους του αριστερού μέλους (χρησιμοποιώντας την αντιμεταθετική ιδιότητα του πολλαπλασιασμού), προκύπτει ότι Αφού οι αριθμοί 1 , … , p − 1 {\displaystyle 1,\ldots ,p-1} είναι σχετικά πρώτοι με τον p {\displaystyle p} , το γινόμενό τους είναι σχετικά πρώτος με τον p {\displaystyle p} και συνεπώς έχει πολλαπλασιαστικό αντίστροφο κάποιον αριθμό ( 1 ⋅ … ⋅ ( p − 1 ) ) − 1 {\displaystyle (1\cdot \ldots \cdot (p-1))^{-1}} . Επομένως, πολλαπλασιάζοντας και τα δύο μέλη της (1) με ( 1 ⋅ … ⋅ ( p − 1 ) ) − 1 {\displaystyle (1\cdot \ldots \cdot (p-1))^{-1}} , έχουμε ότι a p − 1 ⋅ ( 1 ⋅ … ⋅ ( p − 1 ) ) ⋅ ( 1 ⋅ … ⋅ ( p − 1 ) ) − 1 ≡ ( 1 ⋅ … ⋅ ( p − 1 ) ) ⋅ ( 1 ⋅ … ⋅ ( p − 1 ) ) − 1 ( mod p ) , {\displaystyle a^{p-1}\cdot (1\cdot \ldots \cdot (p-1))\cdot (1\cdot \ldots \cdot (p-1))^{-1}\equiv (1\cdot \ldots \cdot (p-1))\cdot (1\cdot \ldots \cdot (p-1))^{-1}{\pmod {p}},} που συνεπάγεται το ζητούμενο a p − 1 ≡ 1 ( mod p ) . {\displaystyle a^{p-1}\equiv 1{\pmod {p}}.} Το αντίστροφο του θεωρήματος δεν ισχύει. Δηλαδή, υπάρχουν σύνθετοι αριθμοί q {\displaystyle q} για τους οποίους έχουμε a q ≡ a ( mod q ) {\displaystyle a^{q}\equiv a{\pmod {q}}} για κάθε ακέραιο a {\displaystyle a} . Οι αριθμοί αυτοί ονομάζονται αριθμοί Carmichael. Το θεώρημα χρησιμοποιείται για να βρεθεί το υπόλοιπο μίας (μεγάλης) δύναμης με έναν πρώτο αριθμό. Για παράδειγμα, αν ψάχνουμε το υπόλοιπο της διαίρεσης του 3100.000 με τον πρώτο αριθμό 53, από το θεώρημα έχουμε 352=1. Παρατηρούμε ότι 3100.000 ≡ 352 × 1923 + 4 ≡ (352)1923 × 34 ≡ 11923 × 34 ≡ 81 ≡ 28 (mod 53). Πιο γενικά, για να υπολογίσουμε το υπόλοιπο του a n {\displaystyle a^{n}} με έναν πρώτο αριθμό p {\displaystyle p} , ο υπολογισμός του a n {\displaystyle a^{n}} θα χρειαζόταν πράξεις σε αριθμούς με O ( n ) {\displaystyle O(n)} ψηφία. Το θεώρημα του Φερμά επιτρέπει να γίνουν αυτές οι πράξεις σε αριθμούς με O ( log ⁡ n + log ⁡ p ) {\displaystyle O(\log n+\log p)} ψηφία, που είναι εκθετικά πιο γρήγορο. Αν θέλουμε να βρούμε το υπόλοιπο μίας (μεγάλης) δύναμης με οποιονδήποτε αριθμό, τότε θα χρησιμοποιήσουμε το θεώρημα του Όιλερ, το οποίο είναι γενίκευση αυτού εδώ του θεωρήματος. Το μικρό θεώρημα του Φερμά χρησιμοποιείται στον έλεγχο πρώτων αριθμών του Φερμά, έναν πιθανοτικό αλγόριθμο που ελέγχει αν ένας φυσικός αριθμός n {\displaystyle n} είναι πρώτος σε O ( log 2 ⁡ n ) {\displaystyle O(\log ^{2}n)} χρόνο με μία (πολύ) μικρή πιθανότητα λάθους. Ο έλεγχος πρώτων αριθμών του Lucas και ο έλεγχος πρώτων του Miller–Rabin βασίζονται σε μικρές παραλλαγές του μικρού θεωρήματος του Φερμά. Το μικρό θεώρημα του Φερμά είναι η βάση για τη "δοκιμή του Φερμά για το αν ένας αριθμός είναι πρώτος" και ένα από τα θεμελιώδη αποτελέσματα της στοιχειώδους Θεωρίας Αριθμών. Το θεώρημα ονομάστηκε από τον Πιέρ ντε Φερμά, που το διατύπωσε το 1640 και έλαβε το όνομα "μικρό θεώρημα" για να το ξεχωρίσουμε από το "τελευταίο θεώρημα" του Φερμά. Το απέδειξε ο Λέοναρντ Όιλερ το 1736, ο οποίος και το γενίκευσε με το θεώρημα του Όιλερ. Το όνομα "μικρό θεώρημα του Φερμά" το έδωσε το 1913 ο Κουρτ Χένσελ. Τελευταίο θεώρημα του Φερμά Θεώρημα του Όιλερ