ポックリントンのアルゴリズムは、次の形式の
合同式を解く手法です

ここで、xとaは整数であり、aは平方剰余です。
このアルゴリズムは、このような合同式を解く最初の効率的な方法の一つであり、1917年にHCポックリントンによって記述されました。 [1]
アルゴリズム
(注:特に明記されていない限り、すべては…を意味します。)


入力:
- p、奇数の素数
- a 、平方剰余となる整数

出力:
- x、を満たす整数。x が解の場合、- x も解であり、p が奇数なので、であることに注意してください。したがって、 1つの解が見つかった場合は、常に2番目の解が存在します


解法
ポックリントンはpについて
3つの異なるケースを分類します
最初のケース、 の場合、 のとき、解は です。



2番目のケース、つまり、および


、解決策は です。
, 2 は(二次)非剰余なので となる。これはとなることを意味し、は の解となる。したがって、または、yが奇数の場合は となる。





3番目のケースでは、 ならば と置くので、解くべき方程式は となります。試行錯誤で と を求め、が2次の非留数となる
ようにします。さらに、 とします。





。
以下の等式が成り立ちます。
。
pが の形であると仮定すると( pが の形であれば真)、D は平方剰余であり、 です。ここで、方程式は




解決策を提示します。

とします。次に とします。これは、または がpで割り切れることを意味します。もし であれば、 と置き、 についても同様に進めます。すべてのがpで割り切れるわけではありません。なぜなら は割り切れないからです。mが奇数の場合は不可能です。なぜならが成り立ち、これはが平方剰余と合同であることを意味し、これは矛盾です。したがって、このループは特定のlについて のときに停止します。これにより が得られ、 は平方剰余なので、l は偶数でなければなりません。 と置きます。次に です。したがって、 の解は線形合同を解くことで得られます。



















例
以下は、ポックリントンのpの3つの異なるケースに対応する4つの例です。いずれも例の
法に従って計算されます。
例0

これはアルゴリズムによれば最初のケースです
が、43ではないので、アルゴリズムをまったく適用すべきではありません。アルゴリズムを適用できない理由は、a=43がp=47に対して平方非剰余であるためです


例1
合同式を解け

法は23です。これはなので、 です。
解は となるはずで、これは確かに真です



例2
合同式を解け

法は13です。これはなので、 です。ここで を検証します。したがって、解は です。
これは確かに真です




例3
合同式を解きなさい。これは と書きます。まず、 と が2乗非剰余となるような を求めます。例えばを取ります。次にを計算して を
求めます









そして同様に
なので、方程式 を解く方程式が得られます。この方程式には解があります。確かに、 です。





参考文献
- レナード・ユージン・ディクソン著『数論の歴史』第1巻222ページ、チェルシー出版、1952年
- ^ HCポックリントン『ケンブリッジ哲学協会紀要』第19巻、57~58ページ