Нельзя ли поподробней?
Объяснять это здесь слишком длинно. Некоторый
обзор можно посмотреть в Википедии. Подробности обычно лучше искать в специальной литературе. Кое что можно найти, например, во втором томе "Искусства программирования для ЭВМ" Д. Кнута.
Сам метод Ферма выглядит так (на примере числа
).
Вычисляем
, убеждаемся, что
не является точным квадратом, и составляем таблицу:
После того, как вычислена величина
, следующие значения вычисляются без возведения в квадрат, просто сложением:
. Отсеять бо́льшую часть разностей, не являющихся точными квадратами, можно по двум последним цифрам: квадрат целого числа может оканчиваться на
(можно сформулировать более компактное правило).
В частности, в указанной таблице квадратами могут быть только
и
. Проверка показывает, что квадратом является только
, поэтому
Если взять число
побольше, все делители которого сильно отличаются от
, то метод Фурье будет работать плохо.
Всякие усовершенствования метода Фурье обычно называются другими именами.