Алгоритм поклингтона это метод решения соответствие формы
![{ Displaystyle х ^ {2} эквив { pmod {p}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9010d7b9e12f7d5f41a6e03daa23dd3ac547fd6f)
куда Икс и а целые числа и а это квадратичный вычет.
Алгоритм является одним из первых эффективных методов решения такого сравнения. Это было описано H.C. Pocklington в 1917 г.[1]
Алгоритм
(Примечание: все
означают
, если не указано иное.)
Входы:
- п, странный основной
- а, целое число, которое является квадратичным вычетом
.
Выходы:
- Икс, целое число, удовлетворяющее
. Обратите внимание, что если Икс это решение, -Икс это тоже решение, и поскольку п странно,
. Так что всегда есть второе решение, когда оно найдено.
Метод решения
Поклингтон выделяет 3 разных случая для п:
Первый случай, если
, с
, решение
.
Второй случай, если
, с
и
, решение
.
, 2 является (квадратичным) невычетом, поэтому
. Это означает, что
так
это решение
. Следовательно
или если у странно,
.
Третий случай, если
, положить
, поэтому уравнение для решения принимает вид
. Теперь найди методом проб и ошибок
и
так что
является квадратичным невычетом. Кроме того, пусть
.
Теперь выполняются следующие равенства:
.
Предполагая, что п имеет форму
(что верно, если п имеет форму
), D является квадратичным вычетом и
. Теперь уравнения
![t_1 Equiv t_ {p-1} t_1 + D u_ {p-1} u_1 quad mbox {и} quad u_1 Equiv t_ {p-1} u_1 + t_1 u_ {p-1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4b99472bbd10f1cad7f58e686eba1cc8755977d1)
дать решение
.
Позволять
. потом
. Это означает, что либо
или же
делится на п. Если это
, положить
и поступаем аналогично с
. Не каждый
делится на п, за
не является. Дело
с м странно невозможно, потому что
держит, и это будет означать, что
конгруэнтно квадратичному невычету; противоречие. Итак, этот цикл останавливается, когда
для конкретного л. Это дает
, и потому что
квадратичный вычет, л должно быть даже. Положить
. потом
. Итак, решение
получается путем решения линейного сравнения
.
Примеры
Ниже приведены 4 примера, соответствующие 3 различным случаям, в которых Поклингтон разделил формы п. Все
взяты с модуль в примере.
Пример 0
![{ displaystyle x ^ {2} Equiv 43 { pmod {47}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8969dcb441670b771f8481742727ff181dab3158)
Это первый случай, согласно алгоритму,
, но потом
не 43, поэтому алгоритм вообще не следует применять. Причина, по которой алгоритм неприменим, заключается в том, что a = 43 является квадратичным невычетом для p = 47.
Пример 1
Решите сравнение
![х ^ 2 экви 18 pmod {23}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/fd7d189237e6e96cdb3bae26028e2f9b2d3e0cb0)
Модуль равен 23. Это
, так
. Решение должно быть
, что действительно верно:
.
Пример 2
Решите сравнение
![х ^ 2 эквив 10 пмод {13}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/97ac38487ba2c5567de9c643a1cac1d991ed528a)
Модуль равен 13. Это
, так
. Сейчас проверяю
. Итак, решение
. Это действительно правда:
.
Пример 3
Решите сравнение
. Для этого напишите
. Сначала найдите
и
такой, что
является квадратичным невычетом. Взять к примеру
. Теперь найди
,
вычисляя
![{ Displaystyle t_ {2} = t_ {1} t_ {1} + 13u_ {1} u_ {1} = 9-13 = -4 эквив 13 { pmod {17}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4d2b3c0f13c3d9a871ecdb7a508273de031fc4b7)
![{ displaystyle u_ {2} = t_ {1} u_ {1} + t_ {1} u_ {1} = 3 + 3 Equiv 6 { pmod {17}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4220f1dcff25bb0533845721eda7c68464a34045)
И аналогично
такой, что ![{ displaystyle t_ {8} = - 68 Equiv 0 { pmod {17}}, u_ {8} = 42 Equ 8 { pmod {17}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d7bec922012d2296311b889360da389bb4534486)
С
, уравнение
что приводит к решению уравнения
. У этого есть решение
. В самом деле,
.
Рекомендации
- Леонард Юджин Диксон, "История теории чисел", том 1, стр. 222, Chelsea Publishing, 1952 г.
- ^ H.C. Поклингтон, Труды Кембриджского философского общества, том 19, страницы 57–58