茜町BOOKS

絵本とかエッセイとか

素数判定方程式

《対象読者》
大学で整数論情報理論などを履修した人、若しくは、素数やRSA暗号に興味のある人.


《本稿の目的》
素数を判定するための方程式(ディオファントス方程式)を紹介します.

つづいて、その導き方と使い方を説明します.ただし、2と3が素数かどうかをこの方程式では判定できませんが、これらを今さら判定しても意味は無いと思いますので、2と3は例外としておきます.

また、この方程式が正しいかどうかの証明は行なっておりません.ご了承ください.


素数判定方程式の概略》
次の式が素数判定方程式です.

P=36mn+6m+6n+1

Pには、素数かどうかを判定したい数を代入します.

mとnは、整数の変数です.


この素数判定方程式に、或る数Pを与えて、mとnの整数解を求めます.その結果により、Pが素数かどうかを判定します.

判定基準は、mとnの両方ともに0以外の整数解が存在すれば、Pは合成数と判定します.

なぜなら、
P=36mn+6m+6n+1=(6m+1)×(6n+1)
となり、Pが素因数分解できるからです.

mとnの整数解が共に0になるのは、P=1の場合だけです.

なぜなら、
P=36×0×0+6×0+6×0+1=1
となるからです.

これら以外の場合、つまり、mとnの片方だけが0となる整数解しかない場合、Pは素数と判定します.

なぜなら、
P=(36m×0)+6m+(6×0)+1=6m+1

または、
P=(36×0×n)+(6×0)+6n+1=6n+1
となり、素因数分解ができないからです.


例として、91が素数合成数かを判定してみます.
素数判定方程式のPに91を代入します.

91=36mn+6m+6n+1

この式の整数解を求めると、(m、n)=(1、2)があります.
整数解が共に0以外なので、Pは合成数であり、素因数分解ができます.

P=(6m+1)×(6n+1)

91=(6×1+1)×(6×2+1)=7×13
となります.

 
素数判定方程式の導き方》
すべての素数が |6N+1| の形で表せることを示します.
(N=0、±1、±2、±3、±4、・・・)
(記号| |は絶対値を表します)

まず、整数を六つに分類します.
6で割ったときの余りに基づいて分類します.
つまり、6N、6N+1、6N+2、6N+3、6N+4、6N+5の六つの分類です.

6N  : ・・・、-18、-12、-6、0、 6、12、18、24、・・・

6N+1: ・・・、-17、-11、-5、1、 7、13、19、25、・・・

6N+2: ・・・、-16、-10、-4、2、 8、14、20、26、・・・

6N+3: ・・・、-15、 -9、-3、3、 9、15、21、27、・・・

6N+4: ・・・、-14、 -8、-2、4、10、16、22、28、・・・

6N+5: ・・・、-13、 -7、-1、5、11、17、23、29、・・・

ここで絶対値を取ってみると、
|6N|              6の倍数 (素数ではない)
|6N+1|            素数または合成数
|6N+2|=|2×(3N+1)| 2の倍数 (素数ではない)
|6N+3|=|3×(2N+1)| 3の倍数 (素数ではない)
|6N+4|=|2×(3N+2)| 2の倍数 (素数ではない)
|6N+5|            素数または合成数
となります.

|6N|と|6N+2|と|6N+3|と|6N+4|は、偶数または3の倍数となるので、素数ではありません.

従って素数は、|6N+1|もしくは|6N+5|の形となります.

|6N+1| ・・・、|ー17|、|ー11|、|-5|、1、 7、13、19、25、・・・

|6N+5| ・・・、|-25|、|ー19|、|-13|、 |-7|、|-1|、5、11、17、・・・


|6N+1|と|6N+5|の内容は全く同じであることから、どちらか一方を考察するだけで素数の判定ができます.

本稿に於いては、|6N+1|を使って考察を行なうことにします.

また絶対値をつけたままで考察を続けても構わないのですが、いちいち絶対値の記号を書くのは面倒なので、絶対値の記号を使わずに考察をすることにします.

例えば、「-5」は「5」と見なし、「-11」は「11」と見なし、「-35」は「35」などと見なすと云うことです.

つまり、負号は無視すると云うことです.若しくは、符号の付いた素数と考えてください.

P=6N+1、(N=0、±1、±2、±3、±4、・・・)
・・・、-29、-23、-17、-11、-5、1、7、13、19、25、31、37、43,49、55、61、・・・

Pの数に負号が付いていても、全て正の整数であると見なしてください.全ての素数は6N+1の形に表せることになります.


それでは次に、6N+1 の形の整数同士の積が、6N+1 の形で表せることを示します.

まず、ふたつの6N+1 の形の整数を考えます.

P’=6m+1
P’’=6n+1
(m、n=0、±1、±2、±3、±4、・・・)

そして、P’とP’’の積を考えます.

P’×P’’=(6m+1)×(6n+1)=36mn+6m+6n+1=6×(6mn+m+n)+1

となります.

ここで、(6mn+m+n)をNと置きます.

すると、
P’×P’’=6N+1
となります.

つまり、6N+1の形の整数同士の積もまた6N+1の形になっている事が分かります.

P’×P’’=6N+1=P=36mn+6m+6n+1
と云うことです.

上記の式の右辺の二つの項より素数判定方程式、
P=36mn+6m+6n+1
が、導き出されました.


素数判定方程式の使い方》
素数判定方程式
P=36mn+6m+6n+1
の使い方を説明します.

素数かどうかを判定したい数をPとします.

まず、Pを6で割ったときの余りを求めます.

その結果、余りが1であればPを素数判定方程式に代入して、mとnの整数解を求めます.
余りが5であれば、Pに負号をつけたものを素数判定方程式に代入して、mとnの整数解を求めます.

そのとき、mとnの両方ともに0以外の整数解があればPは合成数であり、片方だけならば素数となります.
(m、n共に0になるのはP=1のときだけです)

余りが0、2、3、4の場合、Pは偶数か3の倍数です.

使い方は以上ですが、もう少し補足してみます.


m≠0かつn≠0となる整数解が見つかれば、Pは合成数と判定します.
P’=6m+1
P’’=6n+1
P=P’×P’’=(6m+1)×(6n+1)
となり、素因数分解ができるからです.

m=0かつn≠0しか整数解がない場合は、Pは素数と判定します.
P’=6m+1=6×0+1=1
P’’=6n+1
P=P’×P’’=1×(6n+1)=6n+1
となり、素因数分解ができないからです.

同様に、m≠0かつn=0しか整数解がない場合も、Pは素数と判定します.
P’=6m+1
P’’=6n+1=6×0+1=1
P=P’×P’’=(6m+1)×1=6m+1
となり、素因数分解ができないからです.

以上のように判定を行ないます.

 


《計算例、P=169の場合》
素数判定方程式を使って、実際に計算をしてみます.

169が素数なのか合成数なのかの判定は、次のように行ないます.

169は6で割ると1余るので、6N+1の形をしています.

そこで169を素数判定方程式のPに代入しますと、
169=36mn+6m+6n+1
となります.

この方程式のmとnの整数解を求めます.
mとnの両方ともに0以外の整数解があれば、Pは合成数であり、片方だけならば素数となります.

この方程式を満たす整数解には、
(m、n)=(2、2)
があります.従って、169は合成数です.

P’=6m+1=6×2+1=13
P’’=6n+1=6×2+1=13

つまり、
P=169=P’×P’’=13×13
素因数分解できます.

 
《図式解法:P=169の場合》
計算の代わりに図を使って判定する方法を紹介します.

169=36mn+6m+6n+1

この素数判定法定式を次のように変形します.

169ー1=36mn+6m+6n
168=36mn+6m+6n
168÷6=(36mn+6m+6n)÷6
28=6mn+m+n
28=m(6n+1)+n
28ーn=m(6n+1)
(28ーn)÷(6n+1)=m
m=(28ーn)÷(6n+1)

縦軸をm、横軸をnとして、上記の最後の式をグラフを書いて整数解を求めます.


《グラフ:P=169の場合》

f:id:akanemachi:20190420224150p:plain

 


《計算例、P=97の場合》
97が素数なのか合成数なのかの判定は、次のように行ないます.

97は6で割ると1余るので、6N+1の形をしています.

そこで97を素数判定方程式のPに代入しますと、
97=36mn+6m+6n+1
となります.

この方程式のmとnの整数解を求めます.
mとnの両方ともにに0以外の整数解があれば、Pは合成数であり、片方だけならば素数となります.


この方程式を満たす整数解は、
(m、n)=(0、16)もしくは(16、0)
だけしかありません.従って、97は素数です.

P’=6m+1=6×0+1=1
P’’=6n+1=6×16+1=97
つまり、
P=97=P’×P’’=1×97
となり、素因数分解ができません.

 
《図式解法:P=97の場合》
97=36mn+6m+6n+1

この素数判定法定式を次のように変形します.

97ー1=36mn+6m+6n
96=36mn+6m+6n
96÷6=(36mn+6m+6n)÷6
16=6mn+m+n
16=m(6n+1)+n
16ーn=m(6n+1)
(16ーn)÷(6n+1)=m
m=(16ーn)÷(6n+1)

縦軸をm、横軸をnとして、上記の最後の式をグラフを書いて整数解を求めます.


《グラフ:P=97の場合》

f:id:akanemachi:20190420224235p:plain

 

 


《計算例、P=101の場合》
101が素数なのか合成数なのかの判定は、次のように行ないます.

101は6で割ると5余るので、6N+1の形ではありませんが、6N+5の形をしている場合は、負号をつけてー101として判定を行ないます.

-101は6で割ると1余るので6N+1の形になっています.
-101=6×(-17)+1

そこで、-101を素数判定方程式のPに代入しますと、
-101=36mn+6m+6n+1
となります.

この方程式のmとnの整数解を求めます.
mとnの両方ともに0以外の整数解があれば、Pは合成数であり、片方だけならば素数となります.

この方程式を満たす整数解は、
(m、n)=(0、-17)もしくは(-17、0)
だけしかありません.

従って、-101は素数です.
(負号は無視して、101と心の中で解釈してください)

P’=6m+1=6×0+1=1
P’’=6n+1=6×(-17)+1=-101
つまり、
P=-101=P’×P’’=1×(-101)
となり、素因数分解できません.


《図式解法:P=101の場合》
-101=36mn+6m+6n+1

この素数判定法定式を次のように変形します.

-101ー1=36mn+6m+6n
-102=36mn+6m+6n
-102÷6=(36mn+6m+6n)÷6
-17=6mn+m+n
-17=m(6n+1)+n
-17ーn=m(6n+1)
(-17ーn)÷(6n+1)=m
m=(-17ーn)÷(6n+1)

縦軸をm、横軸をnとして、上記の最後の式をグラフに書いて整数解を求めます.

《グラフ:P=101の場合》

f:id:akanemachi:20190420224307p:plain

 


《計算例、P=187の場合》
187が素数なのか合成数なのかの判定は、次のように行ないます.

187は6で割ると1余るので、6N+1の形をしています.
そこで187を素数判定方程式のPに代入しますと、
187=36mn+6m+6n+1
となります.

この方程式のmとnの整数解を求めます.
mとnの両方ともに0以外の整数解があれば、Pは合成数であり、片方だけならば素数となります.

この方程式を満たす整数解には、
(m、n)=(ー2、-3)
があります.従って、187は合成数です.

P’=6m+1=6×(-2)+1=-11
P’’=6n+1=6×(-3)+1=-17
つまり、
P=187=P’×P’’=(-11)×(-17)
素因数分解できます.

「-11」と「-17」は「11」と「17」のことであると解釈します.


《図式解法:P=187の場合》
187=36mn+6m+6n+1

この素数判定法定式を次のように変形します.

187ー1=36mn+6m+6n
186=36mn+6m+6n
186÷6=(36mn+6m+6n)÷6
31=6mn+m+n
31=m(6n+1)+n
31ーn=m(6n+1)
(31ーn)÷(6n+1)=m
m=(31ーn)÷(6n+1)

縦軸をm、横軸をnとして、上記の最後の式をグラフに書いて整数解を求めます.

《グラフ:P=187の場合》

f:id:akanemachi:20190420224336p:plain

 


《計算例、P=741の場合》
741は6で割ると3余るので、6N+3の形をしています.

従って、741は3の倍数です.
741=3×247

それでは試しに、247が素数なのか合成数なのかの判定をしてみましょう.

247は6で割ると1余るので、6N+1の形をしています.

そこで247を素数判定方程式のPに代入しますと、
247=36mn+6m+6n+1
となります.

この方程式のmとnの整数解を求めます.
mとn両方ともに0以外の整数解があれば、Pは合成数であり、片方だけならば素数となります.

この方程式を満たす整数解には、
(m、n)=(2、3)
があります.従って、247は合成数です.

P’=6m+1=6×2+1=13
P’’=6n+1=6×3+1=19
つまり、
P=247=P’×P’’=13×19
素因数分解できます.


《図式解法:P=247の場合》
247=36mn+6m+6n+1

この素数判定法定式を次のように変形します.

247ー1=36mn+6m+6n
246=36mn+6m+6n
246÷6=(36mn+6m+6n)÷6
41=6mn+m+n
41=m(6n+1)+n
41ーn=m(6n+1)
(41ーn)÷(6n+1)=m
m=(41ーn)÷(6n+1)

縦軸をm、横軸をnとして、上記の最後の式をグラフに書いて整数解を求めます.

《グラフ:P=247の場合》

f:id:akanemachi:20190420224414p:plain

 


素数判定方程式の実用性について》
今回紹介した素数判定方程式の整数解を求めるのは困難です.

なにかディオファントス方程式としての一般解を求める公式が当てはまれば良いのですが、どうやらmとnをひとつひとつ調べることしか出来ないような気がします.

理論的な考察の道具には成り得るかもしれませんが、実用性はないでしょう.
(了)


―― あとがき ――
素数判定方程式
著者:茜町春彦


投稿サイト「パブー」で公開した作品です.こちらに移植しました.
初出:
「エッセイ(数学)『素数判定方程式』」2017年9月9日発行