Каждое простое число эквивалентно [в оригинале: измеряет] степени минус один с любым основанием и показателем, равным данному простому числу минус один… И это утверждение, как правило, справедливо для всех оснований и всех простых чисел. Я бы Вам прислал доказательство, если бы оно не было таким длинным.
Оригинальный текст (фр.)
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.
В качестве примера Ферма приводит прогрессию 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 году шотландский математик Джеймс Айвори опубликовал доказательство, основанное на том, что если пробегает полную систему вычетов по модулю , то для любого не кратного произведение также пробегает полную систему вычетов по модулю эта идея лежит в основе современных доказательств[8].
Число называется частным Ферма. Русский математик Д. А. Граве предположил, что частное Ферма никогда не делится на Для простых чисел, не превышающих 1000, это действительно так, однако вскоре был обнаружен контрпример: для частное Ферма делится на 1093[9].
Альтернативная формулировка
Следующая формулировка отличается отсутствием требования, чтобы число не делилось на :
Легко показать что эта формулировка сводится к изначальной. Так, если делится на , то и , т.е. . Если же не делится на , то выражение эквивалентно выражению [2].
Как основная, так и альтернативная формулировки могут быть использованы для проверки, является ли заданное число простым (см. ниже), однако основная формулировка надёжнее в том смысле, что отбраковывает больше составных чисел. Пример: проверим, является ли простым числом. Пусть В альтернативной формулировке получается , а это сравнимо с 4 mod 6. То есть число 6 не отбраковано, его простота не опровергнута. Если же вернуться к оригинальной теореме: , то , а это не сравнимо с 1 mod 6, как должно быть в случае, если p — простое число. Таким образом, основная формулировка более эффективна при отбраковке составных чисел.
Раскрывая скобки, получим коэффициент при одночлене (где хотя бы две из степеней не равны нулю, а сумма всех степеней равна p) называется мультиномиальным коэффициентом и вычисляется по формуле
Поскольку степени меньше, чем то знаменатель мультиномиального коэффициента не содержит множителей, которые могли бы сократиться с следовательно, все коэффициенты многочлена кратны
Таким образом, верно следующее тождество:
где — многочлен с положительными целыми коэффициентами.
Пусть теперь в этом тождестве тогда (здесь n — число переменных в исходном полиномиальном выражении), следовательно, кратно . Если не делится на простое число то на него делится [10].
Доказательство с помощью индукции
Докажем, что для любого простого p и целого неотрицательного a, ap − a делится на p. Доказываем индукцией по a.
База. Для a = 0, ap − a = 0 и делится на p.
Переход. Пусть утверждение верно для a = k. Докажем его для a = k + 1.
Но kp − k делится на p по предположению индукции. В остальных слагаемых присутствует множитель . Для , числитель этой дроби делится на p, а знаменатель — взаимно прост с p, следовательно, делится на p. Так как все отдельные слагаемые делятся на p, вся сумма также делится на p.
Для отрицательных a и нечётных p теорему легко доказать подстановкой b = −a. Для отрицательных a и p = 2 истинность теоремы следует из a2 − a = a(a − 1)[11].
Доказательство с помощью теории групп
Одно из самых простых доказательств Малой теоремы Ферма основано на следствии теоремы Лагранжа из теории групп, утверждающей, что порядок элемента конечной группы делит порядок группы.
Напомним, что порядком конечной группы называется число её элементов, а порядком элемента
— наименьший натуральный показатель его степени, равной единичному элементу группы .
Пусть — конечная группа порядка .
Из того, что порядок элемента делит , следует, что .
Рассмотрим поле вычетов по модулю.
Вычет целого числа будем обозначать через .
Ненулевые элементы поля образуют группу относительно умножения.
Порядок этой группы, очевидно, равен . Её единичным элементом является . Отсюда следует, что для каждого числа , не делящегося на , , но это как раз означает сравнение [1]
Доказательство с помощью модульной арифметики
Лемма. Для любого простого числа и целого числа , не кратного , произведения и чисел при делении на в остатке дают те же самые числа возможно, записанные в некотором другом порядке.
Доказательство леммы
Произведение и любого из чисел не кратно , следовательно, в остатке не может получиться . Все остатки разные. Докажем последнее утверждение от противного. Пусть при и два произведения и дают при делении на одинаковые остатки, тогда разность кратна , что невозможно, поскольку не кратно . Всего существует различных ненулевых остатков от деления на .
Поскольку согласно вышеприведённой лемме остатки от деления чисел a, 2a, 3a, ..., (p − 1)a — это с точностью до перестановки числа 1, 2, 3, ..., p − 1, то . Отсюда . Последнее соотношение можно сократить на (p − 1)!, поскольку все сомножители являются числами, взаимно простыми с основанием p, в результате получаем требуемое утверждение [12].
Следствия и обобщения
Если — простое число, то в поле выполняется равенство [13].
Если — простое число, отличное от 2 и 5, то число , в десятичной записи которого присутствуют только цифры , делится на . Отсюда следует, что для любого целого числа , которое не делится ни на 2, ни на 5, можно подобрать число, состоящее только из девяток, которое делится на . Этот факт используется в теории признаков делимости и периодических дробей[14].
Малая теорема Ферма позволяет находить простые делители чисел вида и [15].
Из малой теоремы Ферма следует теорема Вильсона: Натуральное число является простым тогда и только тогда, когда делится на p.
Доказательство теоремы Вильсона
Теорема Лагранжа в теории чисел утверждает, что если многочлен степени делится на простое число при более чем несравнимых по модулю (т. е. имеющих разные остатки при делении на ) значениях переменной , то он делится на при любом значении .
Рассмотрим многочлен
где — простое число.
Тогда мы находим:
В силу малой теоремы Ферма все эти числа делятся на простое число , поэтому сравнение имеет неконгруэнтных решений. С другой стороны, степень многочлена равна всего лишь отсюда следует, что многочлен делится на при всех значениях и в частности при
Значит
А если в дополнение к этому доказать, что для всех непростых натуральных , кроме , , то получим доказательство теоремы.[17]
Приложения
Псевдопростые числа Ферма и тестирование на простоту
Малая теорема Ферма может быть использована для тестирования числа на простоту: если не делится на , то — составное число. Однако обращение малой теоремы Ферма в общем случае неверно: если и — взаимно простые числа и делится на , то число может быть как простым, так и составным. В случае, когда является составным, оно называется псевдопростым Ферма по основанию .
К примеру, китайская гипотеза утверждает, что является простым числом тогда и только тогда, когда [18]. Здесь прямое утверждение о том, что если простое, то , является частным случаем малой теоремы Ферма. Обратное же утверждение о том, что если , то простое, есть частный случай обращения малой теоремы Ферма. Это обращение ложно: Саррус в 1820 году нашёл, что число делится на , так как делится на . Однако — составное число: . Таким образом, — псевдопростое число по основанию 2[19].
В общем случае обращение малой теоремы Ферма также не выполняется. Контрпримером в общем случае являются числа Кармайкла: это числа , являющиеся псевдопростыми по основанию для всех , взаимно простых с . Наименьшим из чисел Кармайкла является 561.
Ввиду того, что обращение малой теоремы Ферма неверно, выполнение её условия не гарантирует что — простое число. Тем не менее малая теорема Ферма лежит в основе теста Ферма на простоту[20]. Тест Ферма является вероятностным тестом на простоту: если теорема не выполняется, то число точно составное, а если выполняется — то число простое с некоторой вероятностью. Среди других вероятностных методов можно отметить: тест Соловея — Штрассена и тест Миллера — Рабина, последний в некоторой степени опирается на малую теорему Ферма[21]. Также существует и детерминированный алгоритм: Тест Агравала — Каяла — Саксены.
Кроме того, справедливы следующие два утверждения. Если пара удовлетворяют сравнению , то и пара чисел также ему удовлетворяют. Для любого простого числа и любого такого, что , значение является псевдопростым числом Ферма по основанию [22].
Алгоритм RSA
Малая теорема Ферма также используется при доказательстве корректности алгоритма шифрования RSA[2].
↑Габидулин Э. М., Кшевецкий А. С., Колыбельников А. И. Защита информации: учебное пособие. — М.: МФТИ, 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.