pをある程度限定した素数とした時の平方剰余を計算してみます。
整数論の世界では実数の世界でのルートという言葉は使わないようです。
いくつかの整数論の定理を利用しますので、事前に明示しておきます。
これらの定理は超有名なので、整数論の本に必ず載っています。
オイラーの基準(Euler’s Criterion)
pを奇素数, aを整数とする.この時,
平方剰余の第2補充法則
pを奇素数とすると,
ここでカッコはルジャンドル記号と言います.
本題
素数pとしてp mod 8 = 5の場合だけを考えます。
この時, p mod 4 = 1でもあります。
この素数の例としてはがあります。
p = 8k + 5と書けます。または整数です。
の解は存在すると仮定して、解xを求めたいです。
解が存在するということは、
です。
オイラーの基準を使うと、
は整数なので、左辺は
となり、
ケースa)
ケースb)
のどちらと言えます。
a)の場合は、
が解となります。
なぜなら、
となるからです。
b)の場合は、
が解となります。
なぜなら、
ここでオイラーの基準でa=2と置いた式を使うと
平方剰余の第2補充法則を使うと、
この左辺は-1なので結局、最後の式はとなり、解となっていることが分かりました。
まとめると、解は、
a)の場合
であり、
b)の場合
となることが分かりました。
どちらも同じ因子が現れていますね。
コンピュータで計算する場合は、場合分けの計算を省くために、
この因子 を先に計算し、その二乗を計算して、aに一致するか確かめます。
一致すればb)の場合なので、そこで終了です。
一致しない場合はa)の場合なので、さらに2のベキ乗因子を計算して掛ければ解が得られます。
参考: http://course1.winona.edu/eerrthum/13Spring/SquareRoots.pdf