Excel VBA 数学教室ではアフィリエイトプログラムを利用して商品を紹介しています。

平方剰余と平方非剰余

平方剰余と平方非剰余

完全平方数
1,4,9,16,25,36,49,64,81,
を 3 で割った余りを並べてみると…
1,1,0,1,1,0,1,1,0,
というように 1,1,0 が周期的に並びます。つまり、どのような平方数も 3 で割ったときの余りは 01 のどちらかであるということです。上の例については
n=3k2,3k1,3k(k=1,2,)
をそれぞれ平方してみれば
9k212k+4,9k26k+1,9k2
となるので、3 で割ると余りが
1,1,0,1,1,0,1,1,0,
というように交互に並ぶことがわかります。以上の事実は合同方程式
x2a(mod3)
a1 または 0 のときに限って解をもつということを示していて、
x22(mod3)
には解がない(余りが 2 となることはない)ということです。平方数を素数で割ったときの余りを表にしてみると次のようになります。

エクセルで作成した平方剰余表

表を眺めてみると、たとえば平方数を 7 で割ったときの余りは 0 を除けば 1,2,4 に限られていることがわかります。以上の事実を踏まえて、平方剰余平方非剰余を次のように定義します。

【定義F2】素数 p を法とするr 2 項合同方程式
x2a(modp)が整数解を x をもつときの正整数 a を法 p の平方剰余 (quadratic residue) といい、解をもたないときの a を法 p の平方非剰余 (quadratic non-residue) という。

a を正整数と定義しているので、0 は平方剰余の定義から外します。たとえば mod3 の平方剰余は a=1 であり、平方非剰余は a=2 ということになります。また、mod7 の平方剰余は a=1,2,4 であり、平方非剰余は a=3,5,6 となります。121(modp) なので、1 は法の選択に関わらず常に平方剰余です。また、
x2(px)2(modp)
が成り立つので、平方剰余の個数は (p1)/2 個であり、たとえば p=7 の場合は (p1)/2=3 なので、1 から 3 まで平方して
121(mod7)224(mod7)322(mod7)
これですべての平方剰余が出揃ったことになります。上の表でも各法で x=(p1)/2 のところで平方剰余が揃うことを確認しておいてください。次回以降の記事では様々な定理を使って、この平方剰余/平方非剰余について詳しく調べていきます。

平方剰余であるための必要十分条件

定理 F5 を再掲します。

【定理F5】d=(n,p1) とおくと
      xna(modp) が解をもつ ap1d1(modp)

この定理において p を奇素数、n=2 とすると、p1 は偶数なので
d=(n,p1)=(2,p1)=2
となり、次の定理が得られます。

【定理F6】p を奇素数、p/a とすると、a が平方剰余であるための必要十分条件は
ap121(modp)

平方非剰余であるための必要十分条件も調べておきます。
フェルマーの小定理 ap11(modp) より、
(ap121)(ap12+1)0(modp)
平方非剰余なので、
ap121(modp)
したがって次の定理が成り立ちます。

【定理F7】p を奇素数、p/a とすると、a が平方非剰余であるための必要十分条件は
ap121(modp)

定理 F6 と F7 によると ap1211 のどちらかの値しかとりません。
1 であれば平方剰余、1 でれば平方非剰余となります。
11 で確認してみます。(p1)/2=5 なので
151(mod11)25=321(mod11)35=2431(mod11)45=(25)2=(25)2=(1)21(mod11)55=25×125=3×4=121(mod11)65=6×36×365×3×3=451(mod11)75=7×49×494×5×5=1001(mod11)85=8×64×643×9×93×41(mod11)95=(32)5=(35)2=121(mod11)105=10×10×1001×1×11(mod11)
したがって、法 11 の平方剰余は 1,3,4,5,9 であり、その他は平方非剰余となります。

平方剰余の乗算表

平方剰余同士、平方非剰余同士、あるいは平方剰余と平方非剰余の積がどのようになるのかを乗算表をつくって調べてみます。まず最初に「平方剰余 × 平方剰余」を 11 で割った余りを表に並べてみます。

エクセル平方剰余×平方剰余

見ての通り、平方剰余同士の積をつくると 1,3,4,5,9 だけが並びます。すなわち

平方剰余 × 平方剰余 = 平方剰余

となっています。次は平方非剰余同士の積です。

エクセル平方非剰余×平方非剰余

この場合も 1,3,4,5,9 だけが並びます。すなわち

平方非剰余 × 平方非剰余 = 平方剰余

です。最後に平方剰余と平方非剰余の積を調べてみます。

Excel 平方剰余×平方非剰余

今度は 2,6,7,8,10 だけが並んでいます。すなわち

平方剰余 × 平方非剰余 = 平方非剰余

となっています。

平方剰余同士の積は平方剰余です

一般に以下の定理が成り立ちます。

【定理F8】p を奇素数、(a,p)=(b,p)=1 とするとき、
(1) a,b がともに p の平方剰余であれば、ab は平方剰余
(2) a,b がともに p の平方非剰余であれば、ab は平方剰余
(3) a,b のうち一方が平方剰余、他方が平方非剰余であれば、ab は平方非剰余

[証明] 前回記事の定理 F6 と F7 を用います:

【定理F6・F7】p は奇素数、p/a とすると、a が平方剰余であるための必要十分条件は
ap121(modp)a が平方非剰余であるための必要十分条件は
ap121(modp)

(1) a,b がともに平方剰余なので
(ab)p12=ap12bp1211=1(modp)
したがって、ab は平方剰余です。

(2) a,b がともに平方非剰余なので
(ab)p12(1)(1)=1(modp)
したがって、ab は平方剰余です。

(3) a,b のうち一方が平方剰余、他方が平方非剰余なので
(ab)p121(1)=1(modp)
よって、ab は平方非剰余となります。(証明終)

エクセルや数学に関するコメントをお寄せください