В письме Френиклю ученый говорил, что начал различать свет чудесных результатов. Но на самом деле он уже видел этот свет. Два последних результата, о которых он сообщал Френиклю, были следствиями намного более общего результата, известного сегодня как "малая теорема Ферма" (чтобы отличать его от Великой теоремы). Парадокс в том, что "малая" теорема Ферма намного более значима для теории чисел, чем "Великая".
В том же 1640 году Ферма ознакомил с малой теоремой Френикля. Малая теорема Ферма применима только к простым числам. В ее современной формулировке в теореме говорится, что при заданных простом числе p и натуральном числе a, если p не является делителем a, то ap-1 - 1 делится на p. Сначала не очень ясна значимость данной теоремы, однако она устанавливает основополагающее свойство этих кирпичиков, простых чисел, что влечет за собой очень интересные последствия.
Годфри Харди около 1912 года отмечал, что теория чисел не имеет практического применения. Тем не менее ситуация радикально изменилась, когда в 1977 году был разработан шифровальный алгоритм под названием RSA, который основан на разложении числа на два простых множителя (нахождение решения) и умножении двух множителей для получения числа (сверка решения).
Взломать данный код означает разложить на простые множители огромное число. Это должно быть очень сложно, чтобы алгоритм был успешен. Наоборот, те, кто знают множители, могут легко зашифровать и расшифровать сообщение, поскольку для этого требуется только умножение. Впервые теория чисел получила практическое применение. От данного принципа сегодня зависят все шифрованные операции в интернете, не больше и не меньше. Однако надежность метода, понимаемая как разница во времени между шифровкой и дешифровкой, с одной стороны, и взломом кода, с другой стороны, не могла быть доказана. Вся электронная экономика висит на этом математическом волоске, хотя большинство экспертов считают, что алгоритм надежен.
Ферма изобрел метод разложения на множители исходя из того, что нечетное неквадратное число нельзя записать как N = х2 - y2, где
x = (n1+n2)/2 и e = (n1-n2)/2.
Можно легко доказать, что N = n1n2. Если N — простое число, то n1 = N, а n2 = 1. В противном случае n1 и n2 — собственные делители N. Поскольку n1 и n2 нечетные, так как N нечетное, то х и у — целые числа. Отсюда следует, что решение предыдущих уравнений для х и у предполагает возможность разложения N на множители. Для решения этого уравнения прибегают к проверкам, начиная с целого числа m, которое выполняет некое свойство, и, если оно не является решением, продолжают с помощью другого числа m', которое получается на основе m, и продолжают таким образом, пока не получают собственный делитель или не доходят до самого числа N. Разложение на множители методом Ферма может стать очень эффективным в некоторых случаях, поскольку числа т должны быть квадратными, и очень часто бывает легко определить, является ли число квадратным, просто посмотрев на него. Действительно, идеальные квадраты могут заканчиваться только на 0,1,4,5,9,16,36,56, 76 и 96, что исключает 90% окончаний. Красота данного метода в том, что в нем не требуется знания всех простых чисел до определенного числа и что если N — составное число и имеет множитель, близкий к √n, то это разложение на множители быстро его определяет.
Как бы то ни было, после всеобщего внедрения RSA и тесты простоты числа (первый шаг алгоритма — найти два огромных простых числа), и алгоритмы разложения на простые множители (которые в худшем случае могли бы разрушить надежность RSA) получили огромную практическую важность.
Итак, Ферма был озабочен проблемой нахождения простого числа. В качестве элементарной проверки, является ли данное число простым, можно задаться вопросом, выполняет ли заданное число требования малой теоремы Ферма; однако заметьте, что здесь речь идет, скорее, про обратную теорему. Следовательно, нет никакой гарантии того, что число окажется простым. Действительно, известно, что так называемые числа Кармайкла не выполняют обратную теорему. Но даже тогда этот тест является настолько простым и быстрым, что он используется при исполнении алгоритма RSA, чтобы быстро отбросить составные числа. Ведь на самом деле тест простоты, основанный на малой теореме Ферма, заключается в том, чтобы выяснить, является ли число составным. В довершение всего малая теорема Ферма также используется, чтобы доказать, что алгоритм RSA верен.
Другие тесты на простоту делятся на вероятностные и детерминированные. К первым относится тест Миллера — Рабина, который также основывается на малой теореме Ферма, или тест Соловея — Штрассена, основанный на теореме Эйлера, обобщающей малую теорему. Последний тест никогда не утверждает, что число простое, если это не так, но он менее успешен с составными числами. Действительно, существуют тесты, более эффективные в том, чтобы показать, что число составное, а другие больше подходят для доказательства того, что оно простое.
Детерминированное продолжение теста Миллера — Рабина основывается на недоказанном результате: расширенной гипотезе Римана. Очевидно, что его эффективность зависит от того, истинна ли эта гипотеза. Однако в 2002 году впервые было объявлено о тесте под названием AKS, который является универсальным (работает для любого числа), детерминированным, безусловным (не зависит от недоказанных результатов) и эффективным (с полиномиальной сложностью вычислений). Алгоритм AKS также основан на обобщении малой теоремы Ферма.
Важно отличать тесты простоты от алгоритмов разложения на множители. В то время как любой алгоритм разложения на множители скрывает в себе тест простоты, тесты простоты не предполагают обязательного разложения на множители. Например, решето Эратосфена не разлагает число на множители (хотя при тривиальном обобщении оно могло бы это делать), а тест, основанный напрямую на малой теореме Ферма, не находит даже ни одного множителя, в то время как перебор делителей действительно разлагает число. Следовательно, даже если и был найден эффективный алгоритм теста простоты, проблема разложения на множители продолжает быть достаточно сложной для того, чтобы алгоритм RSA оставался актуальным. Тест AKS не разлагает число на множители: операции в интернете остаются надежными.
Существует много других результатов, зависящих от малой теоремы. Один из самых известных — то, что мы все замечали: количество знаков после запятой в рациональном числе повторяется периодически, если в данном рациональном числе, выраженном несократимой дробью, знаменатель — простое число р, отличное от 2 и 5 (которые являются простыми множителями 10). Именно поэтому 1/3 - 0,33333..., а 1/7 - - 0,142857142857..., но 1/5 - 0,2, без периодического повторения. Предыдущие рассуждения служат для того, чтобы понять: малая теорема — один из самых важных результатов в теории чисел.
Вот основная теорема, выполняющаяся в каждой конечной группе, называемая обычно малой теоремой Ферма, поскольку Ферма был первым, кто доказал особый ее случай.
Замечание немецкого математика Курта Гензеля в своей книге "Теория чисел" (Zablentheorie, 1913).
Конечно же, Ферма, верный своей традиции, не оставил ни одного доказательства. Теорема была доказана Эйлером, который не знал, что Лейбниц несколькими годами ранее уже доказал ее, хотя результат был опубликован только в XIX веке.
В доказательстве Лейбница используются математические методы, известные Ферма, поэтому возможно, что доказательство Ферма, если оно существовало, было сделано подобным способом.