第一章初等整數論 §3一次ノ不定方程式(前編)
前回は,ユークリッドの互除法を用いて最大公約数,最小公倍数を計算する手法を学びました.
1. 本節デ論ズルノハ
ノヤウナ,二ツ以上ノ未知數ヲ含ム一ツノ一次方程式ガ與ヘラレテ,シカモ係數
ガ整數デアルトキ,ソノ方程式ノ全テノ整數解ヲ求メルトイフ問題デアル.
今回はこれです.一般にはを2以上の整数,
を整数の定数として,
を満たす整数の組をすべて求めるということになります.高校で学ぶ
の形の整数係数方程式は,
の場合です.
後ニ説明スルヤウニ,コノ方程式ガ整數解ヲ有スルナラバ,無數ノ整數解ガアル.
整数解を有するならば,それは無数にある,ということで,整数解が1組だけ,とか2組だけ,のようなことはないのですね.整数解が1個もないか,無限に存在するかのどちらかであるのでしょう.
コノ意味ニ於テ古來コレヲ不定方程式ト呼ンデヰタノデアルガ,代數的方程式論ニ於ケル不定ト區別スル爲ニ近時ハ整係數ノ方程式ノ整數解ヲ求メルコトヲヂオフアントスノ問題,從テソノ方程式ヲヂオフアントスノ方程式トモイフ.
解が定まらないということで「不定方程式」と呼んでいたそうです.
代数的方程式*1の「不定」とはおそらく,例えばのように,任意の
が方程式を満たすようなものを言うのでしょう.一次不定方程式の解は無数にあるとしても,何でもよいというわけではないため,区別するために「不定」という言葉を使わないこともあるようです.
この方程式をディオファントスの方程式というかどうかは文脈からは判断しかねますが,wikipediaによれば,ディオファントス方程式は,二次以上の方程式も指すようです.岩波の数学辞典によれば,「一般に,整数係数の多項式を0をおいた連立方程式
の整数解を求めることを,不定方程式またはDiophantus方程式を解くという.」とあります.現在ではもっと一般的なものを考察しているんですね.
このような事情があるため,ここで扱う形の不定方程式は一次不定方程式と呼ぶことにしましょう.
ヂオフアントス(Diophantus)ハ西暦約350年ノ頃アレキサンドリアニ生存シテヰタトサレテヰル.
手元の広辞苑によれば,ディオファントスは西暦250年頃のアレキサンドリアの人とあります.インターネットでも250年頃のほうが多数ですが….こういう昔の人の生年って,どのように推定してるんでしょうね.ディオファントスのお墓に書いてあるんでしょうか.
外国人の名前や地名に下線が引いてありますが,これは単語の切れ目が分かりやすくするために引かれているもので,別段強調しているわけではないと思います.
方程式,特ニ一次方程式ノ解法ハヂオフアントスノ著書ニ始メテ載セラレタモノデアルガ,ソノ時代ヲ考ヘテ想像サレルヤウニ,主トシテ有理數特ニ整數ヲ取扱ウタモノデアル.
「初の」という意味の言葉は,現代では「初めて」と書くのが一般的であっても,当時は「始めて」と書くことがありましたので,誤記ではありません.
ディオファントスの『算術』という本ではいくつかの方程式を,正の有理数の範囲で解く方法が記されているようです.当時,無理数の存在は知られていたようですが,認められていなかったのかもしれません.
なお,『算術』の第2巻の問題8は「を(有理数の範囲で)解け」というもので,後世のフェルマーがその写本に,「
が3以上の整数のとき,
の整数解が存在しない」というコメントを書き添えた問題として有名です.
[定理1.7] 一次ノ不定方程式
(1)
ガ解ヲ有スルガ爲ニ必要且充分ナル條件ハ
ガ
デ割リ切レルコトデアル.(變數ノ數ハ任意).
がすべて
のときは,最大公約数を定義することができません.いずれかが
のときは,もっと変数が少ない場合に帰着できます.そこで,いずれも
でないとしましょう.
は
の最大公約数なので,明らかに左辺は
の倍数となります.よって
が
の倍数でなければ解が存在しないのは明らかです.
問題はが
の倍数のとき,必ずこれを満たす
が存在することを示す部分です.
最後,「変数の数は任意」と書いてあります.今回は3つで表現してありますが,個のときも同様なのでしょう.
[注意] 變數
ニ任意ノ整數値ヲ與ヘルトキニ,一次形式
ガ取ルトコロノ値ヲコノ一次形式ニ由テ表ハサレル數トイフ.コノ用語ニ由レバ,上ノ定理ヲ次ノヤウニ言ヒ表ハスコトガデキル.
変数の一次形式とは,
の形の一次関数のことです.
一次形式
ニ由ツテ表ハサレル數ハ
ノ倍數の全體デアル.
が
の倍数ならばこの一次形式によって表され,そうでないならば表すことが出来ないので,
によって表される数は
の倍数の全体であると言えるでしょう.
[證]
ハ勿論一次形式
ニ由ツテ表ハサレル數デアル.(例ヘバ
又ハ
ナドトスルトキ,
).
どのような定数が与えられても,
なので,
は一次形式
によって表される数です.他の表し方もあります.
又
ガ
ニ由テ表ハサレルナラバ
モ
ニ由テ表ハサレルコト勿論デアル(變數ノ符號ヲ變ヘレバヨイ).
が
で表されるとき,
となるが存在します.このとき,
なので,も
によって表されます.
サテ
ニ由ツテ表ハサレル整數ノ中ノ最小ノ正ナルモノヲ
トシテ
(2)
ト置ク.
まずが存在するかどうかですが,
がすべて
であるということはないので,
が
でないとすると
のいずれかは正の数です.よって最小の正の数が存在します.
そのようなに対して,
となる
の組が少なくとも一つ存在する*2ので,それを
とおきます.
又
ニ由ツテ表ハサレル任意ノ整數ヲ
トシテ
(3)
ト置ク.然ラバ
ハ
ノ倍數デアル.
まじで.
何故ナラバ,若シモ
が
ノ倍数デナクテ
ナラバ,(2),(3)ニ由テ
デアルカラ,
ヨリモ小ナル正ノ整數
ガ
ニ由ツテ表ハサレルコトニナル.
以前,「2つ以上の倍数の公倍数は,最小公倍数の倍数である(定理1.3)」を証明したときにも用いた手法です.が
の倍数であることを証明するには,
を
で割った余りが
であることを示せばよい.よく使われる手法っぽいですね.
コレハ矛盾デアル.故ニ
ハ
デ割リ切レル.
でないのだから,
であるしかありません.よって
は
の倍数であることが示されました.
然ルニ
ハ
ニ由ツテ表サレル數デアルカラ,
ハ
デ割リ切レル.
です.さっき示した手法を用いれば,
は
の倍数です.
同様ニ
モ
デ割リ切レル.
ですから,
も
の倍数です.
即チ
ハ
ノ公約数デアルガ,
ハ(2)ニ由テ
ノ倍數(定理1.1)デアルカラ,
.
は
の公約数なので,
を
の最大公約数とすると,
です.
定理1.1というのは「ある整数の倍数の和,または倍数の倍数は,その整数の倍数である」というものでした.は
の倍数なので,(2)の左辺
は
の正の倍数です.よって
です.
以上より,です.
故ニ
ハ一次式
ニ由ツテ表ハサレル,
具体的にどのように表すかは分かりませんが,一次形式によって表される最小の正の数は
であることは間違いありません.
既ニ
ガ
ニ由テ表ハサレルナラバ,
ノ任意ノ倍數ハ
ニ由テ表サレル數デアル.
の倍数を
としましょう.
のとき,
なので,任意の
に対して
は
によって表されます.
又逆ニ
ニ由テ表サレル數ハ勿論
ノ倍數デアル(定理1.1)カラ,定理ハ證明セラレタノデアル.
は
の倍数なので,定理1.1(ある整数の倍数の倍数や,倍数の和は,その整数の倍数である)より,
によって表される数は
の倍数です.
[注意] 上記ノ證明デハ定理1.2ノミヲ根據ニシテ§2ノ定理ヲ一ツモ用ヰナカツタ.
定理1.2というのは,整除に関する定理です.が整数で,
が自然数なら,
を満たすがただ一組存在するというものでした.
§2は最大公約数,最小公倍数に関する節であり,
- 「公倍数は最小公倍数の倍数(定理1.3)」
- 「公約数は最大公約数の約数(定理1.4)」
- 「2つの数の積は,その最大公約数と最小公倍数の積(定理1.5)」
- 「互いに素な
に対し,
が
で割り切れるなら
は
で割り切れる(定理1.6)」
が証明されています.確かに使わなかったですね.
由テコノ證明ノ中デ定理1.4ガ再ビ證明サレテヰル.
ほう.
即チ
ガ
ノ公約數デアルコトガ示サレ,同時ニ又(2)ニ由テ
ガ
ノ任意ノ公約數ノ倍數デアルコトガ分ルカラ,
ハ最大公約數デアル.
によって表される最小の正の数
は
の約数でも
の約数でも
の約数でもあるので,
の公約数です.
の任意の公約数を
とすると,
は
の倍数です.よって
です.
とすれば
が得られます.また,
は任意の公約数
の倍数であることも同時に分かります.
確かに,証明の中で,定理1.4がそのまま得られていました.
定理1.6モ上記ノ定理カラ導カレル.
ナラバ,
ナル整數
ガアルカラ,
.
が互いに素のときは,
となる
が必ず存在します.
これにをかけて,
.
故ニ
ガ
デ割リ切レルナラバ,左邊ノ二ツノ項ガ
デ割リ切レルカラ,
ガ
デ割リ切レル.即チ定理1.6デアル.
そうですね.左辺がの倍数となるので,
は
の倍数です.証明できました.
次回は具体的に一次不定方程式の解を得ることを考えます.
第一章初等整數論 §2最大公約數,最小公倍數(後編)
前回は,2つの整数のユークリッドの互除法を証明しました.
の最大公約数を
とするとき,
が成り立ちます.
これを何度も使うことによって,最大公約数を求めることができます.
の最大公約数
が分かれば最小公倍数
は
によって求めることができます(
が非負整数の場合).
今回は,3つ以上の整数の最大公約数について考えます.
三ツ以上ノ整數
ノ最大公約數ヲ求メルニモ互助法ヲ應用スルコトガデキル.
は12番目のアルファベットなので,これだと12個の整数という意味に思えます.有限個ということを強調したのでしょうか.ともかく,
を2以上の整数として,1以上の整数の組
の意味だと考えることにします.
今コレラノ數ノ中
ガ最モ小サイトキハ,
デ
ヲ割ツテ剰餘ヲ
トスル.然ラバ問題1ト同樣ニ
うーん.として,この中の最小値は
であるとしてよいです.
整除の原理より,なるすべての
について,
となる
が唯一つ存在します.このとき,
として,
を示せばよいです.
は
の倍数なので,
は
の倍数です.よって
は
の公約数なので,
は
の約数であり,
であることが分かります.
また,は
の倍数なので,
は
の倍数です.よって
は
の公倍数なので,
は
の約数であり,
であることが分かります.
以上より,です.
剰餘ノ中ニ
ガアレバソレヲ
ノ中カラ省イテヨイ.
の約数は
以外の任意の整数なので,
と,
の
以外の整数のみの最大公約数は,一致するはずです.
サテ
ニ同樣ノ操作ヲ行フ.
同様の操作というのは,このうちの最小値をとして,それ以外の剰余をとるということです.
ソノトキ除數ニスル最小數ハ
ノ中デ,ソレハ
ヨリモ小デアル.
は
で割ったときの余りだったので,
より小さいです.
コノ操作ヲ繼續スレバ,毎回( )内ノ最大數ガ減少スルカラ,次第ニ剰餘0ガ出テ來テ,竟ニハ括弧内ニ唯一ツノ數ガ殘ル.
この操作を継続して行うと,割る数がだんだん小さくなっていく,ということでしょうね.の最小値を
とすれば,
回以内の操作で唯一の数が残ることでしょう.
ソレガ即チ
デアル.
pythonでは次のようになるでしょうか.Aは自然数を要素に持つ配列です.
def func(A):
m=min(A)
R=[a%m for a in A]+[m]
F=list(filter(None,R))
if len(F)==1:
return F[0]
else:
return func(F)
剰餘ハ絶對的最小剰餘ヲ取ルガヨイ.
ムムム,普通の剰余ではなく絶対的最小剰余なんですね.
絶対的最小剰余とは,次のようなものでした.
整数と自然数
について,
となる整数が存在する.この
を絶対的最小剰余という.
が
の奇数倍であるときは
は2組考えられますが,どちらにせよ
です.
普通の剰余に比べて,絶対的最小剰余を採用すると,割る数が急速に小さくなっていきます.例えばと
の最大公約数を求めるとき,普通の剰余を用いると
のように回の整除が必要ですが,絶対的最小剰余なら
のように回で済みます.
先程の剰余をとるところを,絶対的最小剰余をとるように変更すれば,次のようになるでしょうか.
def func(A):
m=min(A)
R=[min(a%m,m-a%m) for a in A]+[m]
F=list(filter(None,R))
if len(F)==1:
return F[0]
else:
return func(F)
[例]
.
絶対的最小剰余の絶対値は,割る数の半分以下になるのがよいですね.
[問題2.] 三ツ以上ノ整數ノ最小公倍數ヲ求メルトキ,ソレラノ整數ノ一部分ヲソノ最小公倍數デ置キ換エテヨイ.例ヘバ
ノ最小公倍數ハ,
ノ最小公倍數
ト
ノ最小公倍數ニ等シイ.
当たり前に使っているような気がします.の最小公倍数を求めるとき,
の最小公倍数は
なので,
の最小公倍数を求めればよい,と考えるようなことですね.
[解]
ノ最小公倍數ヲ
トシ,
ノ最小公倍數ヲ
トスレバ,
は
ノ公倍數デアルカラ,
ノ倍數デアル(定理1.3).
個(
)の自然数の組
の最小公倍数を
とし,
を
の最小公倍数とし,
の最小公倍数を
とします.
は
に共通する倍数のうち最小のものなので,
の公倍数です.定理1.3は「2つ以上の整数の公倍数は,最小公倍数の倍数である」というものでしたから,これを適用して
は
の倍数です.
ハ固ヨリ
ノ倍數デアルカラ
ハ
ノ公倍數,從テ
ノ倍數デアル.
「固より」は「もとより」と読み,「もともと」「いうまでもなく」のような意味です.
は結局
の倍数ということが分かり,これらの公倍数です.再び定理1.3を用いれば,
は
の倍数であることが分かります.
又
ハ
ノ倍數,從テ,
ノ倍數,従テ
ノ公倍數,從テ
ノ倍數デアル.
定義を使っているだけですね.最後はみたび定理1.3を使っています.
コノヤウニ
ハ
ノ倍數,
ハ
ノ倍數デアルカラ
.
であり,
であるから,
です.この証明法,何度目か分かりませんがよく出てくる気がします.
二ツノ整數ノ最小公倍數ハ定理1.5ニ由テ最大公約數カラ求メラレル.
定理1.5とは,の最小公倍数を
,最大公約数を
とするとき,
であるという定理です.
由テ上記問題ノ定理ヲ應用シテ任意數ノ整數ノ最小公倍數ガ求メラレル.
の最小公倍数
を求めたいとします.
の最大公約数
をユークリッドの互除法で求めると,最小公倍数
は
です.このとき,
の最大公約数は
となります.これで,
個の数の最大公約数を求める問題から,
個の数の最大公約数を求める問題になりました.
これを何度も使えば,最小公倍数を求めることができます.pythonでは,次のように書けるでしょう.Aは自然数からなる配列です.
def gcd(a,b):
if b==0:
return a
else:
return gcd(b,a%b) def lcm(A):
ans=1
for a in A:
ans=ans*a//gcd(ans,a)
return ans
3つの自然数の組の最小公倍数を
,最大公約数を
とするとき,
は必ずしも成り立たないことに注意します*1.
*1:例えば,の最大公約数は
で,最小公倍数は
.
第一章初等整數論 §2最大公約數,最小公倍數(中編2)
前回は,2つの正の数の積は,その正の最小公倍数と,最大公約数の積であること[定理1.5]と,が互いに素で
が
の倍数ならば,
は
の倍数であること[定理1.6]を証明しました.
今回は,実際に最小公倍数と最大公約数を求める方法についてです.
實際ニ,與ヘラレタル(正ノ)整數ノ最大公約數,又ハ最小公倍數ヲ求メル方法ハ周知デアルガ,コノ際,念ノ爲ニソノ理論的ノ根據ヲ叩イテオクノモ無用デハアルマイ.
最大公約数を求めるには,ユークリッドの互除法を用いるか,2つ以上の整数を素因数分解して指数部分の最小値を見ていくかすればよいです.
最大公約数の筆算(すだれ算)というのもあります.例えば,の最大公約数は次のように共通の約数でどんどん割っていって,割れなくなったら
とするものです.これも,どうやら素因数分解の一意性を根拠にしているようです.

2つの数の最大公約数が分かれば,定理1.5から最小公倍数を求めることができます.
[問題1]
の最大公約数は,
の最大公約数に等しい,という有名な定理です.
[解]
ヲ
ノ最大公約數トスレバ,
ハ
ノ約數,従テ
ノ公約數,従テ
ノ約數デアル.(定理1.4)
定理1.1*1より,は
の倍数となります.よって
は
の公約数です.定理1.4*2より,これは
の最大公約数の約数です.
又
トスレバ,
デアルカラ,同樣ニ
ハ
の約數デアル.
を
の最大公約数とすれば,
は
の約数なので,
の公約数です.よって
の約数です.
コノヤウニ
ト
トハ各ガ他ノ約數デアルカラ,相等シイ.
「各」は「おのおの」の意味です.これでがめでたく証明できました.
手元の学習参考書には,最後の部分は「かつ
なので,
である」とあります.これもいいですね.
特ニ
ヲ
デ割ツタ剰餘ヲ
トスレバ,
.
剰余には,最小正剰余*3と,絶対的最小剰余というものがありました.どちらの定義でもが成り立つので,
が成立します.
又
ヲ
デ割ツタ剰餘ヲ
トスレバ,
.
となる
が存在するので,確かにそうです.
コノヤウニ進ンデ行ケバ
デアルカラ竟ニハ剰餘ガ
ニナル.
が非負整数で,
のとき,非負整数列
を次のように定めます.ただし,
とします.
が
でないとき,
は
を満たす唯一の整数
が
のとき,
以降は定義しない
このときならば
が成り立つので,確かに
となり,数列
は狭義単調減少です.また非負整数列でもあるので,添え字が
増加するまでには,つまり
の範囲には
となる
が存在します.
今
ガ
デ割リ切レルトスレバ,
即チ
.
でない任意の整数は
の約数なので,
のとき,
が最大公約数になります.
コレガユウクリッドノ互除法デアル.
pythonで書いてみると次のようになります.は
を満たす整数で,
とします.
def func(a,b):
if b==0:
return a
else:
return func(b,a%b)
mathモジュールをインポートしてから
math.gcd(a,b)
でも十分です*4.
のとき,整除を何回すればよいかについて考えてみます.最悪なケースは余りがなかなか小さくなっていかないとき,つまり商が常に1のときでしょう.例えば
のときは,
のように
回の整除をする必要があります.これは
の
回よりも多いですね.
で定まる数列を定義して,
となる
を
とおきます.
のとき
より
を
で割った商は
以上なので,
です.なので,
と合わせて帰納的に考えると,
以上
以下のすべての
について
が成り立ちます.とすると
が得られます.
つまり回目の整除でユークリッドの互除法が終わるとしたら
であるということです.数列
に現れる整数であって,
以下の最大のものを
とすれば,
が成り立ちます.
のとき,
であることが数学的帰納法によって分かるので,です.
回以内の整除で,ユークリッドの互除法が終わると言えるでしょう.
第一章初等整數論 §2最大公約數,最小公倍數(中編)
前回は,2つ以上有限個の,0でない整数の公倍数は最小公倍数の倍数であること[定理1.3]と,2つ以上有限個の,すべてが0ではない整数の公約数は,最大公約数の約数であること[定理1.4]を証明しました.
それでは読んでいきましょう.
次ノ定理ハ二ツノ整數
ニ關スルモノデアル.
これまでは2つ以上でしたが,ちょうど2つに限定した話になるようです.
[定理1.5]
ノ最小公倍數ヲ
,最大公約數ヲ
トスレバ,
(但
.トスル.)
有名な定理です.例えば,ユークリッドの互除法を用いて2つの数の最大公約数を求めることができるので,これを用いて最小公倍数を求めることができます.
この定理も,素因数分解の一意性によらずに証明できるようです.
[證]
ハ
ノ公倍數デアルカラ
(1)
トスル.
の誤植でしょう.
となる
が存在する,ということです.
サテ
ハ勿論
ノ公倍數デアルカラ,
ハ
ノ倍數デアル(定理1.3).
定理1.3は,「公倍数は,最小公倍数の倍数である」というものです.確かには
の倍数です.
由テ
(2)
トスル.
は
の倍数なので,これを満たす
が存在します.
(1)カラ
ニ代入シテ
(3)
ヲ得ル.故ニ
ハ
ノ公約數デアル.
たとえば,に
を代入して計算すると,
が得られます.同様に
が得られます.
は
の約数でもあり,
の約数でもあるので,
の公約数です.
あとは,これが最大の公約数であることを示せばよいです.
由テ
トスル(定理1.4).
定理1.4は,「公約数は,最大公約数の約数である」というものでした.は
の約数なので,このような
(ただし,
)が存在します.
を示せばよいです.
然ルニ
ハ
デ割リ切レルカラ(3)ニ於テ
ハ
デ割リ切レル.
が
の約数であることから
となる
が存在するので,(3)より
です.ここで
なので,
です.よって
は
で割り切れます.
についても同様です.
由テ
トシテ(1)ニ代入スレバ
.
代入するとこのようになります.
若シモ
ナラバ,
ガ
ノ公倍数ニナル.コレ不合理デアル.故ニ
,従テ
.
背理法を使っているようですが,使わなくてもいけそうです.
上の式からは
の約数です.
より
は
の公倍数なので,
です.よって
なので,
です.
故ニ(2)カラ
.
うーむ.公約数や公倍数を弄繰り回しているだけで証明できてしまうのですね.
ノ最大公約數ヲ
ナル記號デ表ハスコトニスル.
もちろん,有限個の整数の組の場合です.
のようになります.
ガ
以外ノ公約數ヲ有セヌトキニハ,略シテ
ハ公約數ヲ有セヌトイフ.コノ場合ニハ
.
略しすぎな気もしますが,それだけ「以外の公約数を有しない」という場合が出てくるのでしょうね.
ともあれ,は任意の整数の約数であるので,
は必ず公約数になります.これら以外の公約数が存在しないなら,最大公約数は
です.
特ニ二ツノ整數
ガ公約數ヲ有セヌトキニハ,
ヲ互ニ素トモイフ.
お馴染み,互いに素です.「公約数を有しない」は,「公約数がのみである」の略だったので,「2つの整数の最大公約数が
のとき」と言い換えてもよいでしょう.
次ノ定理ハシバシバ引用サレルモノデアルカラ特ニ大切デアル.
[定理1.6]
デ,且
ハ
デ割リ切レルナラバ,
ガ
デ割リ切レル.
素因数分解を考えれば当たり前な気もしますが,これを用いて素因数分解の一意性を証明するのだ,と聞いたことがあります.どうやら,整数や素数の定義によっては,これが成り立たないこともあるようなのです.
現在は整数として有理整数のみを考えているのですが,他の整数ではどうなるか楽しみですね.
[證] 假定ニ由テ
デアルカラ,
ノ最小公倍数ハ
デアル(定理1.5).
定理1.5とは,というものでした.
が
の最小公倍数,
が
の最大公約数ですね.いま
なので,
です.
然ルニ假定ニ由テ
ハ
ノ倍數,従テ
ノ公倍數デアルカラ
ハ
ノ倍数デアル(定理1.3).
は
の倍数でもあり,
の倍数でもあるので,
の公倍数です.
定理1.3とは,「公倍数は最小公倍数の倍数である」というものでしたから,は最小公倍数
の倍数です.
故ニ
ハ整數,即チ
ハ
デ割リ切レル.
が
の倍数であることを示すには,
が
の倍数であることを示せばよい,ということでした.確かに
の情報をどこかに入れなければならないので,当然と言えば当然だったかもしれません.
第一章初等整数論 §2最大公約數,最小公倍數(前編)
前回は整除法について確認しました.整数と正整数
に対して,
を満たす整数が一意に定まります.
のとき,
を最小正剰余というのでした.また,
を満たす整数が存在します*1.このときの
を絶対的最小剰余というのでした.
では読んでいきましょう.
1. 二ツ以上ノ整數
ニ共通ナル倍數(例ヘバ積
ナド)ヲソレラノ整數ノ公倍數トイフ.
お馴染みの公倍数の定義が述べられています.
§1ではの倍数についてのみ定義していませんでしたから,ここでの
は
でない整数ということなのでしょう*2.
また,無限個の整数の組にでない共通の倍数が必ず存在すると言い切るにはちょっと怖いので,有限個の整数の組だと解釈しておきます.つまり,次のようになります.
を2以上の整数とする.
個の
でない整数の組
に,共通の倍数が存在する.これを公倍数という.
有限個からなるでない整数の任意の組について,公倍数は必ず存在します.例えば
や,
がそうです.
ハ公倍數デハアルガ,ソレヲ除ケバ,公倍數ノ中ニ最モ小(絶對値ニ於テ)ナルモノガアル.ソレヲ最小公倍數トイフ.
のいずれも
でなかったので,
は
ではありません.したがって
でない公倍数が少なくとも1つ存在します.公倍数のうち絶対値が最小のものを最小公倍数という,ということです.
それだとと
の最小公倍数は
ってことになりますね.まじか!近くに具体例がないので,不安に駆られます.辞典の類を確認してみます.
手元の「数学小辞典 第2版」には「二つ以上の数の公倍数のうちで最も小さいもののこと.」(負の数やが考慮されていない)とあります.
また手元の「岩波数学辞典 第4版」には「いくつかの,どれかはではない整数
の共通な約数を公約数,共通な倍数を公倍数という.…正の公倍数のうちで最小のものを最小公倍数という.」(そもそも
の倍数が定義されていない)とあります.この「最小の正整数」の方が馴染みがあります.
この最小公倍数の定義の差異についてはちょっとチェックしておくことにしましょう.
二ツ以上ノ整數
ニ共通ナル約數(例ヘバ
ナド)ヲソレラノ整數ノ公約數トイフ.
お馴染みの公約数の定義です.約数の定義によれば,の約数は
以外のすべての整数なので,今回は
として
も許されます.
また,ここでも一応有限個の整数の組ということにしておきましょう.つまり,
を2以上の整数とする.
個の
でない整数の組
に,共通の約数が存在する.これを公約数という.
(と
)は任意の整数の約数なので,有限個からなる整数の任意の組について公約数は存在します.
公約數ハ絶對値ニ於テ
ヨリモ大ナルコトヲ得ナイカラ(
ガスベテ
ナル場合ヲ除ケバ),ソノ中ニ最モ大ナルモノガアル.ソレヲ最大公約數トイフ.
定理1.1の前に「で
が
の約数であるときは,
.」というものがありました.
が
の約数であるとき,この対偶をとると,
ならば,
である.
となります.だから,が
でないとき,
の約数の絶対値は
以下です.よって
がいずれも
でないとき,これらの公約数の絶対値は
以下です.
公約数の数は有限個であることからこの中に最大値が存在します.これが最大公約数です.こちらは最小公倍数とは違って,正のもののみを指しているように読めます.
に
も
でない整数も含まれているときは,
でない整数のみをとってきます.このような整数が2つ以上あるときは,これらの最大公約数を求めれば,任意の整数は
の約数なので,それが
の最大公約数ということになります.1つしかないときは,その数の絶対値が最大公約数です.
がすべて
のときは,任意の整数が
の約数であることから最大公約数は存在しません.
本節デハ最大公約數及ビ最小公倍數ニ關スル基本的ノ定理ヲ述ベル.
節のタイトルにありますもんね.
事實トシテハ周知デアラウガ,往々無證明デ受ケ入レラレテヰルヤウデモアルカラ,コノ際反省ヲシテ見ルノモ無用デハアルマイ.
「反省」とは普通の捉え方を振り返って,それでよいか考えることです.
の最大公約数は,
を素因数分解して,その指数部分の最小値を見ればよい,というような考え方は,中学・高校では証明なしで扱われているように思えます*3.こういうのもきちんと証明してみようというのです.
理論上デハ,最小公倍數ヲ先ニスル方ガ簡明デアル.
ほほう.
[定理1.3] 二ツ以上ノ整數ノ公倍數ハ最小公倍數ノ倍數デアル.
たとえば,の最小公倍数は
ですが,公倍数
はすべて
の倍数であるというのです.なんか当たり前だと思うのですが,なぜ当たり前かと言われると,素因数分解の一意性を根拠にしている気がします.
「最小公倍数」と言っているので,ここでの「2つ以上の整数」というのは「2つ以上有限個の,0でない整数」ということだと解釈します.
[證]
ノ最小公倍數ヲ
トシ
,
ヲ任意ノ公倍數トスル.
必要なものを文字で置いていきます.という文言が見えますね.やはり,最小公倍数は正負どちらも入るので,ここでは正のものをとってきている,という解釈が正しいのでしょう.
ともかく,ここからが
の倍数であることを証明すればよいです.
サテ
(定理1.2)
トスレバ
デ,
モ
モ
ノ倍數デアルカラ,
ハ
ノ倍數デアル(定理1.1).
定理1.2というのは整除法のことで,は任意,
ならば,
となる
がただ一組存在する,というものです.
なら
が
の倍数であることが言えるので,一歩前進した感じがします.
また定理1.1というのは,が
の倍数ならば,
は
の倍数であるというものです.今回は,
,
,
の場合ということです.
同様ニ
ハ
ノ倍數デアル.
上の議論はに限らず,
でも
でも成り立ちます.
即チ
ハ
ノ公倍數デアル.
まさに公倍数の定義に従っています.
ハ
ノ公倍數ノ中デ,
ヲ除イテ最小絶對値ノモノデ,
デアルカラ,
.即チ
.
ここで最小公倍数の「最小である」という性質を使うのですね.が正の最小公倍数のとき,
の範囲に公倍数はありません.うまいなあ.
これで素因数分解の一意性に依拠せずに,「公倍数は最小公倍数の倍数である」ことが示されました.
[定理1.4] 二ツ以上ノ整數ノ公約數ハ最大公約數ノ約數デアル.
例えばの最大公約数は
ですが,他の公約数
はすべて
の約数となっています.これがどんな場合にも成り立つと主張しています.
ここでも,「2つ以上の有限個の整数で,すべてということはない」と解釈しておきます.
ノ最大公約數ヲ
トシ,
ヲ任意ノ公約數トスル.
必要なものを文字で置いていきます.こちらにはの文言はありません.
は正の数であることは定義に従うからです.
然ラバ
ガ
ノ約數デアルトイフノハ,
ト
トノ最小公倍數ガ
デアルトイフニ同ジイ.
「同じい」は現代では「同じだ」と言い換えられてしまうことが多い言葉です.
が
の約数であるということは,
と
の(正の)最小公倍数が
に一致するということと同値である,ということですね.
いちおう,説明してみます.が
の約数のとき,
となる
が存在します.
と
の正の最小公倍数は
で,これは
に等しいです.
逆にと
の最小公倍数が
のとき,
は
の倍数であり,これは
は
の約数であることと同じ意味です.
最小公倍数の話に持っていこうとしているみたいですね.
今
ヲ
ト
トノ最小公倍數トスル.
も
も
でない(
は約数にならない)ので,最小公倍数が存在します.これを
とおいて,
を示そうというのでしょう.
サテ假定ニ由テ
ハ
ノ倍數デアリ又
ノ倍數デアルカラ,
ハ
ノ公倍數,従テ
ノ倍數デアル.(定理1.3).
の公倍数
は最小公倍数
の倍数であることは,先程示した[定理1.3]によっています.
同様ニ
モ
ノ倍數デアル.
に限らず,
でも同様の議論ができますから,その通りです.
故ニ
ハ
ノ公約数デアル.
まさに公約数の定義です.
故に
.
は公約数のうち最大のものだったので,
です.
然ルニ
ハ
ノ倍数デアルカラ
,故ニ
.
「然るに」は「それにもかかわらず」という意味の言葉です.
と
の最小公倍数を
としたので,
は
の倍数です.
かつ
なので,
が言えたわけですが,狐につままれた気持ちです.ともかくこれで公約数の方も,素因数分解の一意性によらずに証明することが出来ました.
第一章初等整數論 §1整數ノ整除(後編)
前回はの倍数の和や,
の倍数の倍数は,
の倍数であることを証明しました.
次ノ定理ハ基本的デアル.
[定理1.2]
ハ任意ノ整數デ,
ナラバ,
ヲ滿足セシメル整數
ガ唯一組ニ限テ存在スル.
除法の原理ですね.例えばとすると
を満たすの組は
の唯一つです.これを小学校の算数以来,「
を
で割ったときの商は
で,余りは
である」と表現してきました.
が負の数でも同様に商や余りを定義することができます.
とすると
を満たすの組は
です.
無数の計算練習によって,が与えられたとき,このような
の組は一通りであることはほとんど実感できていますが,証明できるようです.
[證]
ノ倍數ヲ
ノヤウニ大サノ順序ニ並ベルト,ソレラノ中ニハ絶對値ニ於テ如何程デモ大キイモノガアルカラ,實數
ノ全範圍ガ
ノヤウナ無数ノ區間ニ分タレル.
実数を互いに交わらない半開区間に分けたようです.例えばなら,
のように分けたような感じでしょう.
ハコレラノ區間ノ中ノ唯一ツニ属スルカラ
ニナルヤウナ
ガ存在スル.
唯一つに属する,というのがミソですね.
然ラバ
ト置クトキ,
まったくその通りですね.実際,を
で割った商と余りを求めるときは,
すなわち以下で最大の整数
を求め,
として余りを求めています.操作的な証明ですね.
しかし実数を無数の区間に分けるのではなく,整数を無数の区間に分けるのではいけなかったのでしょうか?
いや,これによって実数にも商と余りが定義できるようになるのでしょうか.うーん.
ガ唯一組ニ限テ存在スルコトモ明白デアルガ,念ノ爲ニ證明スレバ次ノ通リ.
確かに,他の(
以下で最大の整数でない
)であって,
であるが存在しないことを明確に証明してはいませんでした.
若シモ
トスレバ
即チ
ハ
デ割リ切レル.
一意性の証明の際は,「二つあるとして考えてみたけど,やっぱり一つだったよ」の形の証明が有効です.を消去してみると
が
の倍数であることが言えます.ふむふむ.
然ルニ假定ニ由テ
.故ニ
,従テ
.即チ
.
前編で証明した定理「で
が
で割り切れるときは,
である.」を早速使っています.もっと言い換えると,
の範囲に
の倍数は
しかないので,
です.
めでたくこれで唯一であることも言えました.除法の原理が証明できました!
整数と正整数
が与えられたら,
を満たす
が一意に定まります.これを求める演算を整除法,剰余付き除法などと言うようです.
[例]
トスレバ,
ノトキ,
ノトキ,
ノトキ,
例示ですね.他にも,なら
となりますし,
なら
となります.
定理1.2ニ於テ
ナルトキガ,即チ
ガ
デ割リ切レル場合デアル.
ならば
だし,
であるなら
なので,疑いありません.
ナルトキニハ,
ヲ「
ヲ法トシテノ
ノ最小正剰餘」トイフ.
「あまり」がでないときは,「最小正剰余」というようです.「余」は「餘」の略字みたいです.
又
ハ
ヨリモ大デナクテ,ソレニ最モ近イ整数デアル.
より大でない,ということは
以下ということです.つまり
を満たす最大の整数ということです.
一般に實數
ヨリモ大ナラザル最大ノ整数ヲ
デ表スコトガアル(ガウスノ記號).
ガウス記号です.床関数と呼ばれることもあるでしょう.床関数はwikipediaによれば1962年に導入されたそうなので,この本には登場していません.
然ラバ
.
商は
が決まれば一意に決まるので,これを表す記号があるのは大きいですね.ちなみにpythonなどのプログラミング言語では,
はa//bで,
はa%bで表します.
しかし頑なに「を商,
を余りという」みたいな文言が出てこないですね.もしかしたら,特に名前はついていなかったのかもしれません.
若シモ
ヨリ大キクテモ,小サクテモ,ソレニ最モ近イ整數ヲ
トスルナラバ
.
これまでのに等しい
とは異なるようです.
どんな実数も,何かの整数からより大きくは離れていませんから,それはそう,ということになります.実数を覆いつくすように
のような閉区間に分割して考えれば,はこのいずれかには属すので,そこに含まれる整数を
とした,ということでしょう.
整数からの距離がより小さいと隙間ができてしまうので,
が実数を覆いつくすことができる最小の数です.
ソノトキ
トオケバ,
.
これは計算しただけです.
なので,
が得られます.当然は整数です.
故ニ
ニナルヤウナ
ハ必ズアルガ,コノ場合ニハ
ガ二組生ズルコトモアル.
さきほど最小正剰余を考えたときはがただ一組でしたが,今回は一組とは限りません.それは
に最も近い整数が2つ存在するときです.たとえば
は
とも
とも距離が等しく,
としてどちらも取り得ます.
ソレハ
ガ偶數デ,
ガ
ノ奇數倍ナル場合デアル.
であり,
が奇数となる場合なので,まあそうでしょう.
で,
が奇数だとすると
も奇数なので
が整数であることに反します.よって
は偶数でなければならず,このとき
なので
の整数倍です.
ナラバ,
又ハ
.
のとき,
としても
としても
です.
上記ノヤウニ,
ナル
ヲ「
ヲ法トシテノ
ノ絶對的最小剰餘」トイフ.
絶対的最小剰余.最小正剰余の場合はだったので,
の絶対値が小さくなっています.その代わりに
として負の値が出てきたり,唯一性が失われたりしています.特に
の場合が除外されているわけではないので,
のときも
を絶対的最小剰余と言う,ということなのでしょう.
[例]
ノトキ,
ナラバ,
ナラバ,
ナラバ,
又ハ
例が載っています.は
に最も近い整数をとっていけばよいので,
より
で,
です.
またより
で,
です.
より
で,
です.
第一章初等整數論 §1整數の整除(前編)
序文によれば,有理整数(有理数であって,整数であるもの)だけで考察できるのが,第一章なのでした.
1. 本章デハ整數ノ整除,倍數,約數ナドニ關スル最モ卑近ナル理論ヲ述ベル.
整除というのは,いわゆる「割り切れる」というやつです.倍数,約数はさすがに分かります.序文は漢字かな交じりだったのに,本文は漢字カナ交じりなんですね.
中ニハ周知ノ事項モアラウガ,一應根本カラ系統的ニ考察ヲシテオク必要ガアル.
それはそうですね.
本章デハ文字ハ必ズ整數ヲ表ハスノデアルカラ,一一ソレヲ斷ラナイ.
文字は必ず整数.とか
とかのラテンアルファベットのことであって,ひらがなやカタカナのことではないでしょう.
尤モ整数トイウノハ
等,正及ビ負ノ整數ト
トヲ總括シテ言フノデアル
から始まって,
ずつ増やしていくと
となり,減らしていくと
となるのでした.よく知っている整数を具体的に述べています.
整數ノ和,差及ビ積ハ整數デアルガ,商ハ特別ナル場合ノ外ハ整數デナイ.
整数の和,差,積は整数です.ここでは認めてしまって先を急ぎます.
商が整数になったり整数にならなかったりするのは,具体例を示してしまえばよいですね.たとえばを
で割ると
となってこれは整数ですが,
を
で割ると
となって,これは整数ではありません.
商
ガ整数
ニ等シイトキ,即チ
ノトキ,
ハ
デ割リ切レルトイフ.
むむむ,違和感のある文です.「は
で割り切れる」は,
に関する条件なのに,「
」は
に関する条件です.後半は,「
となる
が存在するとき」という感じでしょうか.述語論理に毒されすぎでしょうか…
ともかく,が整数なら,
は
で割り切れるのでした.
は
で割り切れます,なぜなら
だからです.みたいな意味ですね.
と
は同じ意味です.
又
ヲ
ノ倍數,
ヲ
ノ約數トイフ.
まったくその通りです.先の例でいえば,なので
は
の倍数だし,
は
の約数です.
コノ定義ニ由レバ,
ハ任意ノ整數
(但
)ノ倍數デアル.
でない任意の整数
に対し,
です.
は整数なので確かに
は任意の(
でない)整数の倍数だと言えますし,任意の(
でない)整数は
の約数だと言えます.
は
の倍数でしょうか.それは定義されていないので何とも言えません.定義する必要があるときに定義すればよいでしょう.
又
デ
ガ
デ割リ切レルトキハ,
.(
ガ整數デアルカラ,ソレハ
,從テ
.)
んん,一気に複雑になった気がします.大雑把に言えば,が正の整数のとき,
より小さい整数
が
の倍数になるのは,
のときしかありえない,と言っているようです.
証明はカッコ内にありますね.だから
です.
は整数なので
です.よって
です.
次の問題は「数学オリンピック事典」という本に載っていた問題です.
が
の倍数となるような正の整数
をすべて求めよ.
が大きいとき
となるので,
の範囲を絞り込めそうです*1.
は
にならないので,
でなければなりません.つまり
であることが必要です.このとき
が
の倍数となるような
を調べ上げれば,
であることが分かります.
こんな感じで,が
の倍数であるとき,
が
より小さくなるような
が有限個しかないときは,時間さえかければ解決するはずです.
[定理1.1] 或ル整數ノ倍數ノ和,又ハ倍數ノ倍數ハソノ整數ノ倍數デアル.一般ニ
ガ
ノ倍數ナラバ,
ハ
ノ倍數デアル.
の倍数同士の和や,
の倍数の整数倍は,
の倍数です.当然な気がしてきます.定義に従って証明します.
[證]
デ,假定ニ由テ右邊ハ整数ノ和デアルカラ.
ある数が
の倍数であるかどうかは,
が整数であるかどうかを見ればよいのでした.ここでは
が整数であるかどうかが問題です.分配法則によって
とできます.ここで右辺に現れるは整数であり,整数の積や和は整数であるので,
も整数です.
*1:これが逆だと絞り込めず,無数のについての探索になってしまう.このようなときは別の手段に頼ることになるだろう.