Малая теорема Ферма
Ма́лая теоре́ма Ферма́ — теорема теории чисел, которая утверждает, что[1]:
|
На языке теории сравнений: [math]\displaystyle{ a^{p-1} }[/math] сравнимо с 1 по простому модулю [math]\displaystyle{ p }[/math]. Формальная запись: [math]\displaystyle{ a^{p-1}\equiv 1 \pmod p }[/math]
К примеру, если [math]\displaystyle{ a = 2; p = 7, }[/math] то [math]\displaystyle{ 2^6 = 64, }[/math] и [math]\displaystyle{ 64-1 = 63 = 7 \cdot 9. }[/math]
Малая теорема Ферма является частным случаем теоремы Эйлера[2], которая, в свою очередь, является частным случаем теоремы Кармайкла и теоремы Лагранжа для групп для конечных циклических групп. Теорему высказал без доказательства Пьер Ферма, первое доказательство дали Леонард Эйлер и Готфрид Вильгельм Лейбниц.
Малая теорема Ферма стала одной из главных теорем для исследований не только в теории целых чисел, но и в более широких областях[3][4].
История
Пьер Ферма сформулировал исходное утверждение теоремы в письме 1640 года к французскому математику Бернару Френиклю[5]:
Каждое простое число эквивалентно [в оригинале: измеряет] степени минус один с любым основанием и показателем, равным данному простому числу минус один… И это утверждение, как правило, справедливо для всех оснований и всех простых чисел. Я бы Вам прислал доказательство, если бы оно не было таким длинным.
Оригинальный текст (фр.)[показатьскрыть]Tout nombre premier mesure infailliblement une des puissances −1 de quelque progression que ce soit, et l’exposant de la dite puissance est sous-multiple du nombre premier donné −1… 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.— Источник: Fermat a Frenicle
В качестве примера Ферма приводит прогрессию 3, 9, 27, 81, 243, 729… и простое число 13. 13 делит 27 − 1 (показатель степени для 27 равен 3, а 3 делит 13 − 1), из чего следует, что 13 также делит 729 − 1 (показатель степени для 729 равен 6 и кратен 3).
Сам Ферма оставил свою теорему без доказательства. Первым математиком, нашедшим доказательство, был Готфрид Вильгельм Лейбниц, из рукописей которого следует, что доказательство ему было известно до 1683 года. Лейбниц не знал о результате Ферма и открыл теорему независимо[6]. Однако работа Лейбница не была опубликована, и доказательство в 1736 году обнародовал Эйлер в статье Theorematum Quorundam ad Numeros Primos Spectantium Demonstratio[7]. В 1806 году шотландский математик Джеймс Айвори опубликовал доказательство, основанное на том, что если [math]\displaystyle{ x }[/math] пробегает полную систему вычетов по модулю [math]\displaystyle{ p }[/math], то для любого [math]\displaystyle{ a, }[/math] не кратного [math]\displaystyle{ p, }[/math] произведение [math]\displaystyle{ ax }[/math] также пробегает полную систему вычетов по модулю [math]\displaystyle{ p; }[/math] эта идея лежит в основе современных доказательств[8].
Число [math]\displaystyle{ \frac{a^{p-1} - 1}{p} }[/math] называется частным Ферма. Русский математик Д. А. Граве предположил, что частное Ферма никогда не делится на [math]\displaystyle{ p. }[/math] Для простых чисел, не превышающих 1000, это действительно так, однако вскоре был обнаружен контрпример: для [math]\displaystyle{ p=1093, a=2 }[/math] частное Ферма делится на 1093[9].
Альтернативная формулировка
Следующая формулировка отличается отсутствием требования, чтобы число [math]\displaystyle{ a }[/math] не делилось на [math]\displaystyle{ p }[/math]:
|
К примеру, если [math]\displaystyle{ a = 7; p = 5 }[/math], то [math]\displaystyle{ 7^5 = 16807 = 5 \cdot 3361 + 2, }[/math] и [math]\displaystyle{ 7 = 5 \cdot 1 + 2. }[/math].
Легко показать что эта формулировка сводится к изначальной. Так, если [math]\displaystyle{ a }[/math] делится на [math]\displaystyle{ p }[/math], то [math]\displaystyle{ a\equiv 0 \pmod p }[/math] и [math]\displaystyle{ a^p\equiv 0 \pmod p }[/math], т.е. [math]\displaystyle{ a^p\equiv a \pmod p }[/math]. Если же [math]\displaystyle{ a }[/math] не делится на [math]\displaystyle{ p }[/math], то выражение [math]\displaystyle{ a^{p}\equiv a \pmod p }[/math] эквивалентно выражению [math]\displaystyle{ a^{p-1}\equiv 1 \pmod p }[/math][2].
Как основная, так и альтернативная формулировки могут быть использованы для проверки, является ли заданное число простым (см. ниже), однако основная формулировка надёжнее в том смысле, что отбраковывает больше составных чисел. Пример: проверим, является ли [math]\displaystyle{ 6 }[/math] простым числом. Пусть [math]\displaystyle{ a = 4. }[/math] В альтернативной формулировке получается [math]\displaystyle{ 4^6 = 4096 = 682\times 6+4 }[/math], а это сравнимо с 4 mod 6. То есть число 6 не отбраковано, его простота не опровергнута. Если же вернуться к оригинальной теореме: [math]\displaystyle{ a^{p-1}\equiv 1 \pmod p }[/math], то [math]\displaystyle{ 4^{6-1} = 4^5 = 1024 = 170\times 6+4 }[/math], а это не сравнимо с 1 mod 6, как должно быть в случае, если p — простое число. Таким образом, основная формулировка более эффективна при отбраковке составных чисел.
Доказательства
Рассмотрим однородный многочлен степени p с n переменными:
- [math]\displaystyle{ S(x,y,z,\dots,w) = (x+y+z+\dots+w)^p - (x^p+y^p+z^p+\dots+w^p). }[/math]
Раскрывая скобки, получим коэффициент при одночлене [math]\displaystyle{ Mx^{\alpha}y^{\beta}z^{\gamma}\cdot \ldots \cdot w^{\nu} }[/math] (где хотя бы две из степеней [math]\displaystyle{ \alpha, \beta, \gamma \ldots \nu }[/math] не равны нулю, а сумма всех степеней равна p) называется мультиномиальным коэффициентом и вычисляется по формуле
- [math]\displaystyle{ M = \frac{p!}{\alpha!\beta!\gamma! \dots \nu!}. }[/math]
Поскольку степени [math]\displaystyle{ \alpha , \beta , \gamma ... }[/math] меньше, чем [math]\displaystyle{ p, }[/math] то знаменатель мультиномиального коэффициента не содержит множителей, которые могли бы сократиться с [math]\displaystyle{ p, }[/math] следовательно, все коэффициенты многочлена [math]\displaystyle{ S }[/math] кратны [math]\displaystyle{ p. }[/math] Таким образом, верно следующее тождество:
- [math]\displaystyle{ (x+y+z+\dots+w)^p - (x^p+y^p+z^p+\dots+w^p)= pH(x,y,z,\dots,w), }[/math]
где [math]\displaystyle{ H(x,y,z,...,w) }[/math] — многочлен с положительными целыми коэффициентами.
Пусть теперь в этом тождестве [math]\displaystyle{ x = y = ... = w = 1, H(1,1,1,...,1) = N, }[/math] тогда [math]\displaystyle{ n^p - n = Np }[/math] (здесь n — число переменных в исходном полиномиальном выражении), следовательно, [math]\displaystyle{ n(n^{p-1} - 1) }[/math] кратно [math]\displaystyle{ p }[/math]. Если [math]\displaystyle{ n }[/math] не делится на простое число [math]\displaystyle{ p, }[/math] то на него делится [math]\displaystyle{ n^{p-1}-1 }[/math][10].
Докажем, что для любого простого p и целого неотрицательного a, ap − a делится на p. Доказываем индукцией по a.
База. Для a = 0, ap − a = 0 и делится на p.
Переход. Пусть утверждение верно для a = k. Докажем его для a = k + 1.
- [math]\displaystyle{ a^p-a = (k+1)^p-(k+1) = k^p+1+\sum_{l=1}^{p-1} {p \choose l} k^l - k-1 = k^p - k + \sum_{l=1}^{p-1}k^l {p \choose l} }[/math]
Но kp − k делится на p по предположению индукции. В остальных слагаемых присутствует множитель [math]\displaystyle{ {p \choose l} = {p! \over l!(p-l)!} }[/math]. Для [math]\displaystyle{ 1 \leqslant l \leqslant p-1 }[/math], числитель этой дроби делится на p, а знаменатель — взаимно прост с p, следовательно, [math]\displaystyle{ {p \choose l} }[/math] делится на p. Так как все отдельные слагаемые делятся на p, вся сумма [math]\displaystyle{ k^p - k + \sum_{l=1}^{p-1}k^l {p \choose l} }[/math] также делится на p.
Для отрицательных a и нечётных p теорему легко доказать подстановкой b = −a. Для отрицательных a и p = 2 истинность теоремы следует из a2 − a = a(a − 1)[11].
Одно из самых простых доказательств Малой теоремы Ферма основано на следствии теоремы Лагранжа из теории групп, утверждающей, что порядок элемента конечной группы делит порядок группы.
Напомним, что порядком конечной группы [math]\displaystyle{ G }[/math] называется число её элементов, а порядком элемента [math]\displaystyle{ g\in G }[/math] — наименьший натуральный показатель его степени, равной единичному элементу [math]\displaystyle{ e }[/math] группы [math]\displaystyle{ G }[/math].
Пусть [math]\displaystyle{ G }[/math] — конечная группа порядка [math]\displaystyle{ n }[/math]. Из того, что порядок элемента [math]\displaystyle{ g\in G }[/math] делит [math]\displaystyle{ n }[/math], следует, что [math]\displaystyle{ g^n=e }[/math].
Рассмотрим поле [math]\displaystyle{ \mathbb Z_p }[/math] вычетов по модулю [math]\displaystyle{ p }[/math]. Вычет целого числа [math]\displaystyle{ a }[/math] будем обозначать через [math]\displaystyle{ a }[/math]. Ненулевые элементы поля [math]\displaystyle{ \mathbb Z_p }[/math] образуют группу относительно умножения.
Порядок этой группы, очевидно, равен [math]\displaystyle{ p-1 }[/math]. Её единичным элементом является [math]\displaystyle{ 1 }[/math]. Отсюда следует, что для каждого числа [math]\displaystyle{ a }[/math], не делящегося на [math]\displaystyle{ p }[/math], [math]\displaystyle{ a^{p-1}=1 }[/math], но это как раз означает сравнение [math]\displaystyle{ a^{p-1}\equiv 1\pmod p }[/math][1]
Лемма. Для любого простого числа [math]\displaystyle{ p }[/math] и целого числа [math]\displaystyle{ k }[/math], не кратного [math]\displaystyle{ p }[/math], произведения [math]\displaystyle{ k }[/math] и чисел [math]\displaystyle{ 1, 2, 3, \ldots , p-1 }[/math] при делении на [math]\displaystyle{ p }[/math] в остатке дают те же самые числа [math]\displaystyle{ 1, 2, 3, \ldots , p-1, }[/math] возможно, записанные в некотором другом порядке.
Произведение [math]\displaystyle{ k }[/math] и любого из чисел [math]\displaystyle{ 1, 2, 3, \ldots, p-1 }[/math] не кратно [math]\displaystyle{ p }[/math], следовательно, в остатке не может получиться [math]\displaystyle{ 0 }[/math]. Все остатки разные. Докажем последнее утверждение от противного. Пусть при [math]\displaystyle{ a,b\in \{1,2,3,\ldots, p-1\} }[/math] и [math]\displaystyle{ a \ne b }[/math] два произведения [math]\displaystyle{ ak }[/math] и [math]\displaystyle{ bk }[/math] дают при делении на [math]\displaystyle{ p }[/math] одинаковые остатки, тогда разность [math]\displaystyle{ ak-bk=(a-b)k }[/math] кратна [math]\displaystyle{ p }[/math], что невозможно, поскольку [math]\displaystyle{ a-b }[/math] не кратно [math]\displaystyle{ p }[/math]. Всего существует [math]\displaystyle{ p-1 }[/math] различных ненулевых остатков от деления на [math]\displaystyle{ p }[/math].
Поскольку согласно вышеприведённой лемме остатки от деления чисел a, 2a, 3a, ..., (p − 1)a — это с точностью до перестановки числа 1, 2, 3, ..., p − 1, то [math]\displaystyle{ a\cdot 2a\cdot 3a\ldots(p-1)a\equiv1\cdot2\cdot3\ldots(p-1) \pmod p }[/math]. Отсюда [math]\displaystyle{ a^{p-1}(p-1)!\equiv(p-1)! \pmod p }[/math]. Последнее соотношение можно сократить на (p − 1)!, поскольку все сомножители являются числами, взаимно простыми с основанием p, в результате получаем требуемое утверждение [math]\displaystyle{ a^{p-1}\equiv1 \pmod p }[/math][12].
Следствия и обобщения
- Если [math]\displaystyle{ p }[/math] — простое число, то в поле [math]\displaystyle{ \mathbb Z_p }[/math] выполняется равенство [math]\displaystyle{ a^{-1} = a^{p-2} }[/math][13].
- Если [math]\displaystyle{ p }[/math] — простое число, отличное от 2 и 5, то число [math]\displaystyle{ 10^{p-1} - 1 }[/math], в десятичной записи которого присутствуют только цифры [math]\displaystyle{ 9 }[/math], делится на [math]\displaystyle{ p }[/math]. Отсюда следует, что для любого целого числа [math]\displaystyle{ N }[/math], которое не делится ни на 2, ни на 5, можно подобрать число, состоящее только из девяток, которое делится на [math]\displaystyle{ N }[/math]. Этот факт используется в теории признаков делимости и периодических дробей[14].
- Малая теорема Ферма позволяет находить простые делители чисел вида [math]\displaystyle{ a^4+a^3+a^2+a+1 }[/math] и [math]\displaystyle{ a^{2^n}+1 }[/math][15].
- Обобщением малой теоремы Ферма на алгебраические числа является теорема, сформулированная Шёнеманом[нем.] в 1839 году: пусть [math]\displaystyle{ a_1,\dots,a_d }[/math] — корни нормированного многочлена [math]\displaystyle{ f\in \mathbb Z[x] }[/math] степени d, а p — простое число. Тогда [math]\displaystyle{ a_1^p + a_2^p + \dots + a_d^p \equiv a_1 + \dots + a_d\pmod p }[/math][16].
- Из малой теоремы Ферма следует теорема Вильсона: Натуральное число [math]\displaystyle{ p\gt 1 }[/math] является простым тогда и только тогда, когда [math]\displaystyle{ (p-1)!+1 }[/math] делится на p.
Теорема Лагранжа в теории чисел утверждает, что если многочлен степени [math]\displaystyle{ n }[/math] делится на простое число [math]\displaystyle{ p }[/math] при более чем [math]\displaystyle{ n }[/math] несравнимых по модулю [math]\displaystyle{ p }[/math] (т. е. имеющих разные остатки при делении на [math]\displaystyle{ p }[/math] ) значениях переменной [math]\displaystyle{ x }[/math], то он делится на [math]\displaystyle{ p }[/math] при любом значении [math]\displaystyle{ x }[/math].
Рассмотрим многочлен
- [math]\displaystyle{ G(x) = (x - 1)(x - 2)(x - 3)... (x - (p - 1)) - (x^{p-1}- 1), }[/math] где [math]\displaystyle{ p }[/math] — простое число.
Тогда мы находим:
- [math]\displaystyle{ G(1) = 0,G(2) = 1-2^{p-1}, G(3) = 1-3^{p-1}, ..., G(p-1) =1- (p-1)^{p-1}. }[/math]
В силу малой теоремы Ферма все эти числа делятся на простое число [math]\displaystyle{ p }[/math], поэтому сравнение [math]\displaystyle{ G(x) \equiv 0\pmod p }[/math] имеет [math]\displaystyle{ p-1 }[/math] неконгруэнтных решений. С другой стороны, степень многочлена равна всего лишь [math]\displaystyle{ p-2; }[/math] отсюда следует, что многочлен [math]\displaystyle{ G(x) }[/math] делится на [math]\displaystyle{ p }[/math] при всех значениях [math]\displaystyle{ x, }[/math] и в частности при [math]\displaystyle{ x = 0. }[/math]
Значит [math]\displaystyle{ G(0) = [(p- 1)! + 1] \equiv 0\pmod p. }[/math]
А если в дополнение к этому доказать, что для всех непростых натуральных [math]\displaystyle{ n }[/math], кроме [math]\displaystyle{ n=4 }[/math], [math]\displaystyle{ (n-1)! \equiv 0 \pmod n }[/math], то получим доказательство теоремы.[17]
Приложения
Псевдопростые числа Ферма и тестирование на простоту
Малая теорема Ферма может быть использована для тестирования числа на простоту: если [math]\displaystyle{ (a^p-a) }[/math] не делится на [math]\displaystyle{ p }[/math], то [math]\displaystyle{ p }[/math] — составное число. Однако обращение малой теоремы Ферма в общем случае неверно: если [math]\displaystyle{ a }[/math] и [math]\displaystyle{ p }[/math] — взаимно простые числа и [math]\displaystyle{ a^{p-1} - 1 }[/math] делится на [math]\displaystyle{ p }[/math], то число [math]\displaystyle{ p }[/math] может быть как простым, так и составным. В случае, когда [math]\displaystyle{ p }[/math] является составным, оно называется псевдопростым Ферма по основанию [math]\displaystyle{ a }[/math].
К примеру, китайская гипотеза утверждает, что [math]\displaystyle{ p }[/math] является простым числом тогда и только тогда, когда [math]\displaystyle{ 2^p \equiv 2 \pmod{p} }[/math][18]. Здесь прямое утверждение о том, что если [math]\displaystyle{ p }[/math] простое, то [math]\displaystyle{ 2^p \equiv 2 \pmod{p} }[/math], является частным случаем малой теоремы Ферма. Обратное же утверждение о том, что если [math]\displaystyle{ 2^p \equiv 2 \pmod{p} }[/math], то [math]\displaystyle{ p }[/math] простое, есть частный случай обращения малой теоремы Ферма. Это обращение ложно: Саррус в 1820 году нашёл, что число [math]\displaystyle{ N = 2^{341-1} - 1 }[/math] делится на [math]\displaystyle{ 341 }[/math], так как [math]\displaystyle{ N }[/math] делится на [math]\displaystyle{ 2^{10}-1=3 \cdot 341 }[/math]. Однако [math]\displaystyle{ 341 }[/math] — составное число: [math]\displaystyle{ 341 = 11 \cdot 31 }[/math]. Таким образом, [math]\displaystyle{ 341 }[/math] — псевдопростое число по основанию 2[19].
В общем случае обращение малой теоремы Ферма также не выполняется. Контрпримером в общем случае являются числа Кармайкла: это числа [math]\displaystyle{ p }[/math], являющиеся псевдопростыми по основанию [math]\displaystyle{ a }[/math] для всех [math]\displaystyle{ a }[/math], взаимно простых с [math]\displaystyle{ p }[/math]. Наименьшим из чисел Кармайкла является 561.
Ввиду того, что обращение малой теоремы Ферма неверно, выполнение её условия не гарантирует что [math]\displaystyle{ p }[/math] — простое число. Тем не менее малая теорема Ферма лежит в основе теста Ферма на простоту[20]. Тест Ферма является вероятностным тестом на простоту: если теорема не выполняется, то число точно составное, а если выполняется — то число простое с некоторой вероятностью. Среди других вероятностных методов можно отметить: тест Соловея — Штрассена и тест Миллера — Рабина, последний в некоторой степени опирается на малую теорему Ферма[21]. Также существует и детерминированный алгоритм: Тест Агравала — Каяла — Саксены.
Кроме того, справедливы следующие два утверждения. Если пара [math]\displaystyle{ (2, n) }[/math] удовлетворяют сравнению [math]\displaystyle{ a^{n-1}\equiv1\pmod{n} }[/math], то и пара чисел [math]\displaystyle{ (2, 2^{n}-1) }[/math] также ему удовлетворяют. Для любого простого числа [math]\displaystyle{ n }[/math] и любого [math]\displaystyle{ a \gt 2 }[/math] такого, что [math]\displaystyle{ (a^{2}-1, n)=1 }[/math], значение [math]\displaystyle{ \frac{a^{2n}-1}{a^{2}-1} }[/math] является псевдопростым числом Ферма по основанию [math]\displaystyle{ a }[/math][22].
Алгоритм RSA
Малая теорема Ферма также используется при доказательстве корректности алгоритма шифрования RSA[2].
См. также
Примечания
- ↑ 1,0 1,1 Винберг, 2008, с. 43.
- ↑ 2,0 2,1 2,2 Сагалович, 2014, с. 34.
- ↑ Энциклопедия элементарной математики, Книга 1, Арифметика, Александров П. С., Маркушевич А. И., Хинчин А. Я., 1961.— С. 280
- ↑ З. И. Боревич, И. Р. Шафаревич. Теория чисел. — М.: Наука, 1972. — 175 с.
- ↑ Грасиан Э. Простые числа. Долгая дорога к бесконечности. — Де Агостини, 2014. — Т. 3. — С. 45. — 148 с. — (Мир математики). — ISBN 978-5-9774-0637-6.
- ↑ Данциг, Т. Числа — язык науки, 2008, с. 231—234.
- ↑ David C. Marshall, Edward Odell, Michael Starbird. Number Theory Through Inquiry Архивная копия от 16 сентября 2012 на Wayback Machine. — 2006. — pp. 62—63.
- ↑ Джон Дж. О’Коннор и Эдмунд Ф. Робертсон. Sir James Ivory (англ.) — биография в архиве MacTutor.
- ↑ Виленкин Н. Я., Шибасов Л. П. Шибасова 3. Ф. За страницами учебника математики: Арифметика. Алгебра. Геометрия. — М.: Просвещение, 1996. — С. 30. — 320 с. — ISBN 5-09-006575-6.
- ↑ Данциг, Т. Числа — язык науки, 2008, с. 231-234.
- ↑ Винберг, 2008, с. 44.
- ↑ КВАНТ, 2000, № 1, Сендеров В, Спивак А. Малая теорема Ферма.
- ↑ Акритас А. Основы компьютерной алгебры с приложениями, стр. 83.
- ↑ Данциг, Т. Числа — язык науки, 2008, с. 232-234.
- ↑ КВАНТ, 2000, № 3, Сендеров В, Спивак А Малая теорема Ферма
- ↑ Винберг, 2008, с. 49.
- ↑ Данциг, Т. Числа — язык науки, 2008, p. 234-238.
- ↑ Ribenboim, P. (1996), The New Book of Prime Number Records, New York: Springer-Verlag, pp. 103—105, ISBN 0-387-94457-5.
- ↑ Weisstein E. W. Fermat Pseudoprime.. — 2005..
- ↑ Габидулин Э. М., Кшевецкий А. С., Колыбельников А. И. Защита информации: учебное пособие. — М.: МФТИ, 2011. — С. 236-237. — 262 с. с. — ISBN 978-5-7417-0377-9.
- ↑ Williams H. C. Primality testing on a computer (англ.) // Ars Combin. — 1978. — Vol. Т. 5, no. №. 12. — P. 127-185.
- ↑ Шитов Ю. А. Теоретико-численные методы в криптографии.
Литература
- Александров П. C., Маркушевич А.И., Хинчин А. Я. Энциклопедия элементарной математики. Том I: арифметика. — 1951.
- Боревич З. И., Шафаревич И. Р. Теория чисел. — М.: Наука, 1972. — 510 с. Архивная копия от 8 января 2011 на Wayback Machine
- Шаблон:Source
- Гиндикин С. Г. "Малая теорема Ферма". — Квант, 1972. — № 10. (недоступная ссылка)
- Данциг, Т. Числа — язык науки. — М.: Техносфера, 2008. — ISBN 978-5-94836-172-7.
- Нестеренко Ю. В. Алгоритмические проблемы теории чисел. — 1997. — Вып. 2, № третья серия.
- Шаблон:Source
- Сендеров В, Спивак А. Малая теорема Ферма // Квант. — 2000. — № 1.
- Сендеров В, Спивак А. Малая теорема Ферма // Квант. — 2000. — № 3.