ほぼ雑記的メモ
8N+1の素数について、もう一つ別の考え方を解説します。多分Tonelli–Shanksのアルゴリズムと同じ考えに基づくものと思われます。
p−1=2st(ただしtは奇数)とおきます。すると任意のxに対して
(xt)2s=1
ですからxtは1の2t乗根です。
例えば97を考えると
96=25⋅3
ですから x3は1の32乗根です。一般的に1の32乗根は32個あり、そのうち16個が32乗してはじめて1になる数です。ある数ωが32乗して初めて1になる数とすれば
ω3,ω5,⋯,ω31もまた32乗根してはじめて1になる数です。よって1つそのような数を見つければ他の数は自然と見つかることになります。
(余談ながらその逆数ω−1,ω−3,⋯,ω−31も然りです)
ωを32乗して初めて1になる数(例えば42)としてその数を2乗、4乗としてこれを木の形にしてみます。(下図参照)
空白になっているところにも2の冪乗根があるはずですがそれは何かわからないので空欄にしておきます。また平方根についてはaが平方根の1つなら-aもまた平方根ですので剰余を0から95ではなく-48から47までの間になるように書いています。木の葉のほうから辿れば
42 → 18 → 33 → 22 → -1
です。この中にa3があれば答えは簡単です。例えばaが47とすれば、a3=33ですから、1つ下の18を使って
a3=33=182
これより両辺にaをかけて
a4=182a
を得て
(a218−1)2=a
が答えになります。18の逆数 (18x=1なる数)が出てきますがこれは普通に求めてもいいし、そもそも1816−1=27が逆数なのでそれを利用しても簡単に求まります。
答えとしては−12が得られます。実際−122=47です。
そうではない場合(例えば11)を探す場合は次のようにします。113=−27です。−27を冪冪で累乗していくと
(−27)2=−47(−47)2=−22
となり、ここで−22が出ます。−22はツリーのルートのすぐ右側にあるので、この数はツリーの右側にあることがわかります。ところでωですが次のような性質を持っています。
Powered by Red Leaf ( Rev. ff3895040 ), © Issei Numata, 2007-2021