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

整数の合同演算・完全剰余系

整数の合同と不合同

1 に 7 を加えながら数字を並べてみます。
1,8,15,22,29,36,43,50,
並べた数字はいずれも 7 で割ると 1 余ります。そこで、これらは同じ種類の数であると考えて という記号で結ぶことにします。
18152229364350(mod7)
このように で結ばれた数を「 7 を法として合同である」といいます。mod7 は 7 を法とすることを明示する記号です。しかしたとえば 18 という数は上のグループに含まれていないので (7 で割ると 4 余ります) 、
1829(mod7)
のように書いて、18 と 29 は「 7 を法として不合同である」といいます。一般に整数 a,b をそれぞれ m で割ったときに余りが等しければ、abm を法 (modulus) として合同 (congruent) である といい、
ab(modm)
と書きます。ここで a,b はそれぞれ整数 s,t,r を用いて
a=ms+r,b=mt+r
のように書くことができます。ra,bm で割ったときの余りです。すると
ab=m(st)
となるので、abm で割り切れます。逆に abm で割り切れるのなら、
ab=mk
なので、
b=mq+r,a=m(k+q)+r(0r<m)
となって、a,bm で割ったときの余りは等しくなります。これを用いて合同の定義をまとめると次のようになります。

【定義C1】a,b を整数、m を自然数とする。
abm で割り切れるとき、ab は法 m について合同であるといい、
ab(modm)と表す。abm で割り切れないとき、ab は法 m について不合同であるといい、
ab(modm)と表す。

記号を使って手短に書くと次のようになります。

【定義C1】a,bZ,mN
ab(modm)m|ab
ab(modm)m/ab

具体例を載せておくので、実際に abm で割り切れるか確認してみてください。
1119(mod2)732(mod5)130200(mod10)

同値関係(反射率、対称律、推移律)

今までの数学で用いてきた等号について、次のような関係が成り立つことは暗黙の了解としてきたはずです(普段は意識することもないと思います)。

① 反射律 a=a
② 対称律 a=b ならば b=a
③ 推移律 a=b,b=c ならば a=c

ある集合の2元同士の関係 R が上の条件を全て満たせば同値関係(equivalence relation)にあるといいます。もちろん関係の種類によっては ① ~ ③ のいずれかを満たさない場合もあります。たとえば自然数 b が自然数 a で割り切れる、すなわち a|b という関係を考えたときに上の3つの条件を順にチェックしていくと

a|a が成り立つので、反射律を満たします。
a|b だからといって、b|a は成立しないので対称律は満たしていません。
a|b,b|c ならば a|c が成り立つので推移律を満たしています。

② の条件を満たさないので、a|b は同値関係ではありません。

合同について同値関係が成り立つかどうか調べてみましょう。
結論を先に言えば、整数の合同は同値関係を満たします。

① 反射律 aa(modm)
② 対称律 ab(modm) ならば ba(modm)
③ 推移律 ab,b=c(modm) ならば ac(modm)

【① 反射律の証明】
m|aa(modm) なので aa(modm)

【② 対称律の証明】
m|ab(modm) より
m|(ab)(modm)
m|ba(modm)
ba(modm)

【③ 推移律の証明】
ab(modm) なので b=a+sm
bc(modm) なので c=b+tm
c=a+(s+t)mac(modm)

ちなみに「合同」と聞けば小学校の時に習った「三角形の合同」を思い浮かべるかたも多いと思いますが、実は「三角形の合同」も同値関係にあります。ぜひ確認してみてください。

剰余類

任意の整数を 7 で割ると、余りは 0, 1, 2, 3, 4, 5, 6 のいずれかになります。そこで、その余りの数によって整数を 7 つの集合に分けてみます。

C0{14,7,0,7,14,}C1{13,6,1,8,15,}C2{12,5,2,9,16,}C3{11,4,3,10,17,}C4{10,3,4,11,18,}C5{9,2,5,12,19,}C6{8,1,6,13,20,}
それぞれの集合内の要素同士は法 7 のもとで合同です。このように互いに合同な整数の集合を剰余類(residue class)とよびます。C は Class の頭文字です。

[定義 C2] 整数全体の集合 Z を自然数 m で割ったときの剰余
0,1,2,,m1によって分類し、剰余が r である数の集合を Cr で表すと 
C0,C1,C2,,Cm1という m 個の類(剰余類)ができます。Cr に属する全ての要素は
mt+r(tZ)と表すことができます。

法 7 による剰余類の例を見れば、どの整数も必ずどこかの剰余類に属し、また複数の剰余類に属することはないことは、ほぼ自明であるように思えますが、これについても一般的に証明しておきます。証明には上で絵説明した同値関係を用います。

【定理C1】
① どの整数も必ずどこかの剰余類に属します。
② どの整数も複数の剰余類に属することはありません。すなわち
rsCrCs=ϕ

 ここで ϕ は空集合を表す記号で、上の定理は rs のときは Cr かつ Cs を満たす要素は存在しないことを述べています。

【定理C1 の証明】

① 反射律 aa(modm) より aCa です。
 すなわち、どの整数も必ずどこかの剰余類に属します。

CaCb のどちらにも属する整数 x が存在すると仮定すると

aCa,xCa なので ax(modm)
bCb,xCb なので bx(modm)

 推移律によって
 
ax,xb(modm)
であるならば ab(modm) が成立します。つまり Ca=Cb となって 2 つの類は完全に一致してしまいます。したがって、どの整数も複数の剰余類に属することはありません。

完全剰余系

 先ほどの法 7 による剰余類を再掲します。
 
C0{14,7,0,7,14,}C1{13,6,1,8,15,}C2{12,5,2,9,16,}C3{11,4,3,10,17,}C4{10,3,4,11,18,}C5{9,2,5,12,19,}C6{8,1,6,13,20,}
 それぞれの剰余類から 1 つずつ値を取り出して、
 
{14,8,5,10,2,19,27}
という集合を作ってみます。当然のことながら、この集合には 7 で割ったときの余りの相異なる数が過不足なく含まれています。このような集合のことを 完全剰余系 とよびます。別にどのような値をとってきても完全剰余系であることに変わりはないのですが、たとえば
 
{0,1,2,3,4,5,6}
のように選ぶと、法 7 による完全剰余系であることが一目瞭然です。一般的な定義も載せておきます。

[定義 C3] 法 m による剰余類
C1,C2,,Cm1の中から 1 つずつ値(類の代表)を取り出して集めた数の組を完全剰余系とよびます。

合同式の加算と減算

 法 7 による剰余類を再掲します。
 
C0{14,7,0,7,14,}C1{13,6,1,8,15,}C2{12,5,2,9,16,}C3{11,4,3,10,17,}C4{10,3,4,11,18,}C5{9,2,5,12,19,}C6{8,1,6,13,20,}
 ここで、たとえば C2 から 2, C3 から 17 という要素を抜き出して足し合わせてみると
 
2+17=19C5
となっています (197 で割ると 5 余ります) 。また C2 から 5, C3 から 10 という要素を抜き出して足し合わせてみても
 
5+10=5C5
となります。同じように C2,C3 からどのような数を抜き出して足し合わせてみても、それは必ず C_5 類の要素となります。一般に加算については、法 m による剰余類 Ca,Cb
 
Ca{a1,a2,a3,ai,}Cb{b1,b2,b3,bi,}
としたときに、Ca,Cb から任意の要素
 
aiCa,biCb
を取り出してきて足し合わせると必ず同じ剰余類 Cx の要素となります。
 
ai+biCx
 これは言い換えると Ca,Cb からどのような数を抜き出して足し合わせても合同になるということです。

[定理 C2] a1a2,b1b2(modm) ならば、
(1)a1+b1a2+b2(modm)(2)a1b1a2b2(modm)が成り立ちます。

【定理C2 の証明】
(1) a2=a1+ms,b2=b1+mt(s,tZ) と書けるので、
 
a2+b2=a1+b1+m(s+t)a1+b1(modm)
となります。(2) も同じように証明できます。(証明終)

 この定理は合同式においても普通の等式と同じように辺々を足し合せてもかまわないということです。具体的な計算例を載せておきます。たとえば法 5 のもとで
 
2853,3651(modm)
という合同式が成り立っているので、両辺を足し合わせて
 
641044(modm)
という合同式も成り立ちます。

合同式の乗算とべき乗

 再び法 7 による剰余類を並べてみます。
 
C0{14,7,0,7,14,}C1{13,6,1,8,15,}C2{12,5,2,9,16,}C3{11,4,3,10,17,}C4{10,3,4,11,18,}C5{9,2,5,12,19,}C6{8,1,6,13,20,}
 たとえば C2 から 16, C3 から 3 という要素を抜き出して掛け合わせてみると
 
16×3=48C6
となります。あるいは C2 から 9, C3 から 10 という要素を抜き出して乗じてみても
 
9×10=90C6
となります。これは決して偶然ではなく、C2,C3 からどのような数を抜き出して掛け合わせても必ず C6 の要素となります。一般に法 m のもとで Ca,Cb から適当な数を抜き出して掛け合わせると、それらの数は全て合同となります(同じ類の元となります)。

[定理 C3] a1a2,b1b2(modm) ならば、
a1b1a2b2(modm)

【定理C3 の証明】
 a2=a1+ms,b2=b1+mt(s,tZ) と書けるので、
 
a1b1=(a1+ms)(b1+mt)=a1b1+m(a1t+b1s+st)a1b1(modm)
となります。(証明終)

 加算の時と同じように、乗算においても普通の (“=” で結ばれた) 等式のように、(法 m が共通していれば)辺々を掛け合わせることが許されるということです。たとえば
 
1322,817(modm)
が成立しているので、辺々を掛けると左辺と右辺はそれぞれ
 
13×8=1042(modm)22×17=3742(modm)
となって合同であることがわかります。

合同式のべき乗

 法 7 による剰余類 C2 を再掲します。
 
C2{12,5,2,9,16,}
 C2 から 25 を取り出して、それぞれ 2 乗すると 4,25 となり、それぞれ 7 で割ると 4 が余るので C4 の元となります。
 
4,25C4
また、25 をそれぞれ 3 乗すると
 
8,125C1
となって、やはり 2 数は同じ類の元となります。このように、ある剰余類から 2 数を取り出してべき乗すると、それぞれ一緒に同じ類に移ります(合同関係が維持されます)。

[定理 C4] a1a2(modm) ならば、
a1na2n(modm)nN

 ここで N は自然数の集合を表しています。

【定理C4 の証明】数学的帰納法を用いて証明します。n=1 のとき
 
a1a2(modm)
が成り立っています。n=k1 のとき
 
a1k1a2k1(modm)
が成り立つことを仮定すると、定理 C3(合同式の乗算)より
 
a1k1a1a2k1a2(modm)
 すなわち
 
a1ka2k(modm)
が成り立ちます。よって任意の自然数 n について
 
a1na2n(modm)nN
が成り立ちます。(証明終)
 
 たとえば 37(mod4) が成り立っているので、両辺を 2 乗、3 乗, … していっても合同関係は維持されるということです。
 
3272(mod4)3373(mod4)3474(mod4)
 本当に成り立っているかどうか気になる場合は、Excel の MOD 関数などで実際に計算させて確認してください。

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