第一章初等整數論 §3一次ノ不定方程式(前編)

前回は,ユークリッドの互除法を用いて最大公約数,最小公倍数を計算する手法を学びました.

 

1. 本節デ論ズルノハ

 ax+by+cz=k

ノヤウナ,二ツ以上ノ未知數ヲ含ム一ツノ一次方程式ガ與ヘラレテ,シカモ係數 a,b,c,kガ整數デアルトキ,ソノ方程式ノ全テノ整數解ヲ求メルトイフ問題デアル.

今回はこれです.一般には nを2以上の整数, a_1,...,a_nを整数の定数として,

 a_1x_1+a_2x_2+\dots+a_nx_n=k

を満たす整数の組 (x_1,x_2,...,x_n)をすべて求めるということになります.高校で学ぶ ax+by=kの形の整数係数方程式は, n=2の場合です.

 

後ニ説明スルヤウニ,コノ方程式ガ整數解ヲ有スルナラバ,無數ノ整數解ガアル.

整数解を有するならば,それは無数にある,ということで,整数解が1組だけ,とか2組だけ,のようなことはないのですね.整数解が1個もないか,無限に存在するかのどちらかであるのでしょう.

 

コノ意味ニ於テ古來コレヲ不定方程式ト呼ンデヰタノデアルガ,代數的方程式論ニ於ケル不定ト區別スル爲ニ近時ハ整係數ノ方程式ノ整數解ヲ求メルコトヲヂオフアントスノ問題,從テソノ方程式ヲヂオフアントスノ方程式トモイフ.

解が定まらないということで「不定方程式」と呼んでいたそうです.

代数的方程式*1の「不定」とはおそらく,例えば 0x=0のように,任意の xが方程式を満たすようなものを言うのでしょう.一次不定方程式の解は無数にあるとしても,何でもよいというわけではないため,区別するために「不定」という言葉を使わないこともあるようです.

この方程式をディオファントスの方程式というかどうかは文脈からは判断しかねますが,wikipediaによれば,ディオファントス方程式は,二次以上の方程式も指すようです.岩波の数学辞典によれば,「一般に,整数係数の多項式を0をおいた連立方程式

 f_i(x_1,...,x_n)=0\ (i=1,...,m)

の整数解 (x_1,...,x_n)\in\mathbb{Z}を求めることを,不定方程式またはDiophantus方程式を解くという.」とあります.現在ではもっと一般的なものを考察しているんですね.

このような事情があるため,ここで扱う形の不定方程式は一次不定方程式と呼ぶことにしましょう.

 

ヂオフアントス(Diophantus)ハ西暦約350年ノ頃アレキサンドリアニ生存シテヰタトサレテヰル.

手元の広辞苑によれば,ディオファントスは西暦250年頃のアレキサンドリアの人とあります.インターネットでも250年頃のほうが多数ですが….こういう昔の人の生年って,どのように推定してるんでしょうね.ディオファントスのお墓に書いてあるんでしょうか.

外国人の名前や地名に下線が引いてありますが,これは単語の切れ目が分かりやすくするために引かれているもので,別段強調しているわけではないと思います.

 

方程式,特ニ一次方程式ノ解法ハヂオフアントスノ著書ニ始メテ載セラレタモノデアルガ,ソノ時代ヲ考ヘテ想像サレルヤウニ,主トシテ有理數特ニ整數ヲ取扱ウタモノデアル.

「初の」という意味の言葉は,現代では「初めて」と書くのが一般的であっても,当時は「始めて」と書くことがありましたので,誤記ではありません.

ディオファントスの『算術』という本ではいくつかの方程式を,正の有理数の範囲で解く方法が記されているようです.当時,無理数の存在は知られていたようですが,認められていなかったのかもしれません.

なお,『算術』の第2巻の問題8は「 x^2+y^2=16を(有理数の範囲で)解け」というもので,後世のフェルマーがその写本に,「 nが3以上の整数のとき, x^n+y^n=z^nの整数解が存在しない」というコメントを書き添えた問題として有名です.

 

[定理1.7] 一次ノ不定方程式

(1)

 ax+by+cz=k

ガ解ヲ有スルガ爲ニ必要且充分ナル條件ハ k d=(a,b,c)デ割リ切レルコトデアル.(變數ノ數ハ任意).

 a,b,cがすべて 0のときは,最大公約数を定義することができません.いずれかが 0のときは,もっと変数が少ない場合に帰着できます.そこで,いずれも 0でないとしましょう.

 d a,b,cの最大公約数なので,明らかに左辺は dの倍数となります.よって k dの倍数でなければ解が存在しないのは明らかです.

問題は k dの倍数のとき,必ずこれを満たす x,y,zが存在することを示す部分です.

最後,「変数の数は任意」と書いてあります.今回は3つで表現してありますが, n個のときも同様なのでしょう.

 

[注意] 變數 x,y,zニ任意ノ整數値ヲ與ヘルトキニ,一次形式 ax+by+czガ取ルトコロノ値ヲコノ一次形式ニ由テ表ハサレル數トイフ.コノ用語ニ由レバ,上ノ定理ヲ次ノヤウニ言ヒ表ハスコトガデキル.

変数 x_1,...,x_nの一次形式とは, a_1x_1+\dots+a_nx_nの形の一次関数のことです.

 

一次形式

 f(x,y,z)=ax+by+cz

ニ由ツテ表ハサレル數ハ d=(a,b,c)ノ倍數の全體デアル.

 k dの倍数ならばこの一次形式によって表され,そうでないならば表すことが出来ないので, f(x,y,z)=ax+by+czによって表される数は dの倍数の全体であると言えるでしょう.

 

[證]  0ハ勿論一次形式 fニ由ツテ表ハサレル數デアル.(例ヘバ x=y=z=0又ハ x=b,y=-a,z=0ナドトスルトキ, f=0).

どのような定数 a,b,cが与えられても, f(0,0,0)=0なので, 0は一次形式 fによって表される数です.他の表し方もあります.

 

 k fニ由テ表ハサレルナラバ -k fニ由テ表ハサレルコト勿論デアル(變數ノ符號ヲ變ヘレバヨイ).

 k fで表されるとき,

 f(x_0,y_0,z_0)=ax_0+by_0+cz_0=k

となる x_0,y_0,z_0が存在します.このとき,

 f(-x_0,-y_0,-z_0)=-(ax_0+by_0+cz_0)=-k

なので, -k fによって表されます.

 

サテ fニ由ツテ表ハサレル整數ノ中ノ最小ノ正ナルモノヲ k_0トシテ

(2)

 ax_0+by_0+cz_0=k_0

ト置ク.

まず k_0が存在するかどうかですが, a,b,cがすべて 0であるということはないので, a 0でないとすると f(1,0,0)=a,f(-1,0,0)=-aのいずれかは正の数です.よって最小の正の数が存在します.

そのような k_0に対して, f(x,y,z)=k_0となる x,y,zの組が少なくとも一つ存在する*2ので,それを (x_0,y_0,z_0)とおきます.

 

 fニ由ツテ表ハサレル任意ノ整數ヲ kトシテ

(3)

 ax+by+cz=k

ト置ク.然ラバ k k_0ノ倍數デアル.

まじで.

 

何故ナラバ,若シモ k k_0ノ倍数デナクテ

 k=qk_0+r,~\quad 0\lt r\lt k_0

ナラバ,(2),(3)ニ由テ

 r=k-qk_0=a(x-qx_0)+b(y-qy_0)+x(z-qz_0)

デアルカラ, k_0ヨリモ小ナル正ノ整數 r fニ由ツテ表ハサレルコトニナル.

以前,「2つ以上の倍数の公倍数は,最小公倍数の倍数である(定理1.3)」を証明したときにも用いた手法です. a bの倍数であることを証明するには, a bで割った余りが 0であることを示せばよい.よく使われる手法っぽいですね.

 

コレハ矛盾デアル.故ニ k k_0デ割リ切レル.

 0\lt r\lt k_0でないのだから, r=0であるしかありません.よって k k_0の倍数であることが示されました.

 

然ルニ a=a.1+b.0+c.0 fニ由ツテ表サレル數デアルカラ, a k_0デ割リ切レル.

 f(1,0,0)=aです.さっき示した手法を用いれば, a k_0の倍数です.

 

同様ニ b,c k_0デ割リ切レル.

 f(0,1,0)=b,f(0,0,1)=cですから, b,c k_0の倍数です.

 

即チ k_0 a,b,cノ公約数デアルガ, k_0ハ(2)ニ由テ d=(a,b,c)ノ倍數(定理1.1)デアルカラ, k_0=d

 k_0 a,b,cの公約数なので, d a,b,cの最大公約数とすると, k_0\leqq dです.

定理1.1というのは「ある整数の倍数の和,または倍数の倍数は,その整数の倍数である」というものでした. a,b,c dの倍数なので,(2)の左辺 ax_0+by_0+cz_0 dの正の倍数です.よって k_0\geqq dです.

以上より, k_0=dです.

 

故ニ dハ一次式 fニ由ツテ表ハサレル,

 d=ax_0+by_0+cz_0

具体的にどのように表すかは分かりませんが,一次形式 fによって表される最小の正の数は dであることは間違いありません.

 

既ニ d fニ由テ表ハサレルナラバ, dノ任意ノ倍數ハ fニ由テ表サレル數デアル.

 dの倍数を mdとしましょう.

 f(x_0,y_0,z_0)=dのとき, f(mx_0,my_0,mz_0)=mdなので,任意の mに対して md fによって表されます.

 

又逆ニ fニ由テ表サレル數ハ勿論 dノ倍數デアル(定理1.1)カラ,定理ハ證明セラレタノデアル.

 a,b,c dの倍数なので,定理1.1(ある整数の倍数の倍数や,倍数の和は,その整数の倍数である)より, fによって表される数は dの倍数です.

 

[注意] 上記ノ證明デハ定理1.2ノミヲ根據ニシテ§2ノ定理ヲ一ツモ用ヰナカツタ.

定理1.2というのは,整除に関する定理です. aが整数で, b自然数なら,

 a=qb+r\ (0\leqq r\lt b)

を満たす q,rがただ一組存在するというものでした.

§2は最大公約数,最小公倍数に関する節であり,

  • 「公倍数は最小公倍数の倍数(定理1.3)」
  • 「公約数は最大公約数の約数(定理1.4)」
  • 「2つの数の積は,その最大公約数と最小公倍数の積(定理1.5)」
  • 「互いに素な a,bに対し, bc aで割り切れるなら c aで割り切れる(定理1.6)」

が証明されています.確かに使わなかったですね.

 

由テコノ證明ノ中デ定理1.4ガ再ビ證明サレテヰル.

ほう.

 

即チ k_0 a,b,cノ公約數デアルコトガ示サレ,同時ニ又(2)ニ由テ k_0 a,b,cノ任意ノ公約數ノ倍數デアルコトガ分ルカラ, k_0ハ最大公約數デアル.

 fによって表される最小の正の数 k_0 aの約数でも bの約数でも cの約数でもあるので, a,b,cの公約数です.

 a,b,cの任意の公約数を k_1とすると, f(x_0,y_0,z_0)=ax_0+by_0+cz_0 k_1の倍数です.よって k_1\leqq k_0です.

 k_1=dとすれば k_0=dが得られます.また, dは任意の公約数 k_1の倍数であることも同時に分かります.

確かに,証明の中で,定理1.4がそのまま得られていました.

 

定理1.6モ上記ノ定理カラ導カレル. (a,b)=1ナラバ, ax+by=1ナル整數 x,yガアルカラ, acx+bcy=c

 a,bが互いに素のときは, ax+by=1となる x,yが必ず存在します.

これに cをかけて, acx+bcy=c

 

故ニ ac bデ割リ切レルナラバ,左邊ノ二ツノ項ガ bデ割リ切レルカラ, c bデ割リ切レル.即チ定理1.6デアル.

そうですね.左辺が bの倍数となるので, c bの倍数です.証明できました.

 

次回は具体的に一次不定方程式の解を得ることを考えます.

*1:多項式を等号で結んだ形の方程式.

*2:上の話によれば無数に存在するらしい.

第一章初等整數論 §2最大公約數,最小公倍數(後編)

前回は,2つの整数のユークリッドの互除法を証明しました.

 a,bの最大公約数を (a,b)とするとき, (a,b)=(a-qb,b)が成り立ちます.

これを何度も使うことによって,最大公約数を求めることができます.

 a,bの最大公約数 gが分かれば最小公倍数 l ab=glによって求めることができます( a,bが非負整数の場合).

 

今回は,3つ以上の整数の最大公約数について考えます.

三ツ以上ノ整數 a,b,c,...,lノ最大公約數ヲ求メルニモ互助法ヲ應用スルコトガデキル.

 lは12番目のアルファベットなので,これだと12個の整数という意味に思えます.有限個ということを強調したのでしょうか.ともかく, nを2以上の整数として,1以上の整数の組 a_1,a_2,...,a_nの意味だと考えることにします.

 

コレラノ數ノ中 aガ最モ小サイトキハ, a b,c,...,lヲ割ツテ剰餘ヲ b',c',...,l'トスル.然ラバ問題1ト同樣ニ

 (a,b,c,...,l)=(a,b',c',...,l').

うーん. (a_1,a_2,...,a_n)=gとして,この中の最小値は a_1であるとしてよいです.

整除の原理より, 2\leqq k\leqq nなるすべての kについて, a_k=a_1q_k+r_k\ (0\leqq r_k\lt a_1)となる q_k,r_kが唯一つ存在します.このとき,

 (a_1,r_2,r_3,...,r_n)=g'として, g=g'を示せばよいです.

 a_1,a_2,...,a_n gの倍数なので, r_k\ (k=2,3,...,n) gの倍数です.よって g a_1,r_2,...,r_nの公約数なので, g g'の約数であり, g\leqq g'であることが分かります.

また, a_1,r_2,...,r_n g'の倍数なので, a_k\ (k=2,3,...,n) g'の倍数です.よって g a_1,a_2,...,a_nの公倍数なので, g' gの約数であり, g'\leqq gであることが分かります.

以上より, g=g'です.

 

剰餘ノ中ニ 0ガアレバソレヲ (\quad)ノ中カラ省イテヨイ.

 0の約数は 0以外の任意の整数なので, (a_1,r_2,r_3,...,r_n)と, a_1,r_2,r_3,...,r_n 0以外の整数のみの最大公約数は,一致するはずです.

 

サテ (a,b',c',...,l')ニ同樣ノ操作ヲ行フ.

同様の操作というのは,このうちの最小値を mとして,それ以外の剰余をとるということです.

 

ソノトキ除數ニスル最小數ハ b',c',...,l'ノ中デ,ソレハ aヨリモ小デアル.

 r_2,r_3,...,r_n aで割ったときの余りだったので, aより小さいです.

 

コノ操作ヲ繼續スレバ,毎回( )内ノ最大數ガ減少スルカラ,次第ニ剰餘0ガ出テ來テ,竟ニハ括弧内ニ唯一ツノ數ガ殘ル.

この操作を継続して行うと,割る数がだんだん小さくなっていく,ということでしょうね. a_1,a_2,...,a_nの最小値を mとすれば, m回以内の操作で唯一の数が残ることでしょう.

 

ソレガ即チ (a,b,c,...,l)デアル.

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)

 

剰餘ハ絶對的最小剰餘ヲ取ルガヨイ.

ムムム,普通の剰余ではなく絶対的最小剰余なんですね.

絶対的最小剰余とは,次のようなものでした.

整数 a自然数 bについて,

 a=qb+r,~|r|\leqq\dfrac b2

となる整数 q,rが存在する.この rを絶対的最小剰余という.

 a \dfrac b2の奇数倍であるときは q,rは2組考えられますが,どちらにせよ |r|=\dfrac b2です.

普通の剰余に比べて,絶対的最小剰余を採用すると,割る数が急速に小さくなっていきます.例えば 21 13の最大公約数を求めるとき,普通の剰余を用いると

 (21,13)=(13,8)=(8,5)=(5,3)=(3,2)=(2,1)=(1,0)=1

のように 6回の整除が必要ですが,絶対的最小剰余なら

 (21,13)=(13,-5)=(5,-2)=(2,1)=(1,0)=1

のように 4回で済みます.

先程の剰余をとるところを,絶対的最小剰余をとるように変更すれば,次のようになるでしょうか.

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)

 

[例]  (629,391,255)=(119,-119,255)=(119,17)=17

絶対的最小剰余の絶対値は,割る数の半分以下になるのがよいですね.

 

[問題2.] 三ツ以上ノ整數ノ最小公倍數ヲ求メルトキ,ソレラノ整數ノ一部分ヲソノ最小公倍數デ置キ換エテヨイ.例ヘバ a,b,c,...,kノ最小公倍數ハ, a,bノ最小公倍數 m c,...,kノ最小公倍數ニ等シイ.

当たり前に使っているような気がします. 24,36,50の最小公倍数を求めるとき, 24,36の最小公倍数は 72なので, 72,50の最小公倍数を求めればよい,と考えるようなことですね.

 

[解]  a,b,c,...,kノ最小公倍數ヲ lトシ, m,c,...,kノ最小公倍數ヲ l'トスレバ, l a,bノ公倍數デアルカラ, mノ倍數デアル(定理1.3).

 n個( n\geqq 3)の自然数の組 a_1,a_2,...,a_nの最小公倍数を lとし, m a_1,a_2の最小公倍数とし, m,a_3,...,a_nの最小公倍数を l'とします.

 l a_1,a_2,...,a_nに共通する倍数のうち最小のものなので, a_1,a_2の公倍数です.定理1.3は「2つ以上の整数の公倍数は,最小公倍数の倍数である」というものでしたから,これを適用して l mの倍数です.

 

 lハ固ヨリ c,...,kノ倍數デアルカラ l m,c,...,kノ公倍數,從テ l'ノ倍數デアル.

「固より」は「もとより」と読み,「もともと」「いうまでもなく」のような意味です.

 lは結局 m,a_3,...,a_nの倍数ということが分かり,これらの公倍数です.再び定理1.3を用いれば, l l'の倍数であることが分かります.

 

 l' mノ倍數,從テ, a,bノ倍數,従テ a,b,c,...,kノ公倍數,從テ lノ倍數デアル.

定義を使っているだけですね.最後はみたび定理1.3を使っています.

 

コノヤウニ l l'ノ倍數, l' lノ倍數デアルカラ l=l'

 l\geqq l'であり, l'\geqq lであるから, l=l'です.この証明法,何度目か分かりませんがよく出てくる気がします.

 

二ツノ整數ノ最小公倍數ハ定理1.5ニ由テ最大公約數カラ求メラレル.

定理1.5とは, a,bの最小公倍数を l,最大公約数を mとするとき, ab=lmであるという定理です.

 

由テ上記問題ノ定理ヲ應用シテ任意數ノ整數ノ最小公倍數ガ求メラレル.

 a_1,a_2,...a_nの最小公倍数 Lを求めたいとします.

 a_1,a_2の最大公約数 lユークリッドの互除法で求めると,最小公倍数 m m=\dfrac{a_1a_2}lです.このとき, m,a_3,...,a_nの最大公約数は Lとなります.これで, n個の数の最大公約数を求める問題から, n-1個の数の最大公約数を求める問題になりました.

これを何度も使えば,最小公倍数を求めることができます.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つの自然数の組 a,b,cの最小公倍数を l,最大公約数を mとするとき, abc=lmは必ずしも成り立たないことに注意します*1

*1:例えば, 1,2,2の最大公約数は 1で,最小公倍数は 2

第一章初等整數論 §2最大公約數,最小公倍數(中編2)

前回は,2つの正の数の積は,その正の最小公倍数と,最大公約数の積であること[定理1.5]と, a,bが互いに素で bc aの倍数ならば, c aの倍数であること[定理1.6]を証明しました.

 

今回は,実際に最小公倍数と最大公約数を求める方法についてです.

實際ニ,與ヘラレタル(正ノ)整數ノ最大公約數,又ハ最小公倍數ヲ求メル方法ハ周知デアルガ,コノ際,念ノ爲ニソノ理論的ノ根據ヲ叩イテオクノモ無用デハアルマイ.

最大公約数を求めるには,ユークリッドの互除法を用いるか,2つ以上の整数を素因数分解して指数部分の最小値を見ていくかすればよいです.

最大公約数の筆算(すだれ算)というのもあります.例えば, 12,24,48の最大公約数は次のように共通の約数でどんどん割っていって,割れなくなったら 3\times 2\times 2とするものです.これも,どうやら素因数分解の一意性を根拠にしているようです.

2つの数の最大公約数が分かれば,定理1.5から最小公倍数を求めることができます.

 

[問題1]  (a,b)=(a-qb,b)

 a,bの最大公約数は, a-qb,bの最大公約数に等しい,という有名な定理です.

 

[解]  m a,bノ最大公約數トスレバ, m a-qbノ約數,従テ a-qb,bノ公約數,従テ (a-qb,b)ノ約數デアル.(定理1.4)

定理1.1*1より, a-qb mの倍数となります.よって m a-qb,bの公約数です.定理1.4*2より,これは a-qb,bの最大公約数の約数です.

 

 a-qb=a'トスレバ, a=a'+qbデアルカラ,同樣ニ (a',b) (a,b)の約數デアル.

 m' a',bの最大公約数とすれば, m' a'+qbの約数なので, a'+qb,bの公約数です.よって (a,b)の約数です.

 

コノヤウニ (a,b) (a',b)トハ各ガ他ノ約數デアルカラ,相等シイ.

「各」は「おのおの」の意味です.これで (a,b)=(a',b)がめでたく証明できました.

手元の学習参考書には,最後の部分は「 m\leqq m'かつ m'\leqq mなので, m=m'である」とあります.これもいいですね.

 

特ニ a bデ割ツタ剰餘ヲ cトスレバ, (a,b)=(b,c)

剰余には,最小正剰余*3と,絶対的最小剰余というものがありました.どちらの定義でも a=bq+cが成り立つので, (a,b)=(b,c)が成立します.

 

 b cデ割ツタ剰餘ヲ dトスレバ, (b,c)=(c,d)

 d=b-qcとなる qが存在するので,確かにそうです.

 

コノヤウニ進ンデ行ケバ a\gt b\gt c\gt d\gt....デアルカラ竟ニハ剰餘ガ 0ニナル.

 a,bが非負整数で, a\geqq bのとき,非負整数列 \{a_n\}を次のように定めます.ただし, a\neq 0とします.

  •  a_0=a,a_1=b
  •  a_n 0でないとき, a_{n+1} a_{n-1}=qa_n+a_{n+1},~0\leqq a_{n+1}\lt a_nを満たす唯一の整数
  •  a_n 0のとき, a_{n+1}以降は定義しない

このとき a_n\gt 0ならば 0\leqq a_{n+1}\lt a_nが成り立つので,確かに a_1\gt a_2\gt \dotsとなり,数列 \{a_n\}\ (n\geqq 1)は狭義単調減少です.また非負整数列でもあるので,添え字が b増加するまでには,つまり n\leqq b+1の範囲には a_n=0となる nが存在します.

 

 c dデ割リ切レルトスレバ, (c,d)=(d,0)=d即チ d=(a,b).

 0でない任意の整数は 0の約数なので, a_n=0のとき, a_{n-1}が最大公約数になります.

 

コレガユウクリッドノ互除法デアル.

pythonで書いてみると次のようになります. a,b a\geqq b\geqq 0を満たす整数で, a\neq 0とします.

def func(a,b):
    if b==0:
        return a
    else:
        return func(b,a%b)

mathモジュールをインポートしてから

math.gcd(a,b)

でも十分です*4

 a\gt b\gt 0のとき,整除を何回すればよいかについて考えてみます.最悪なケースは余りがなかなか小さくなっていかないとき,つまり商が常に1のときでしょう.例えば (21,13)のときは, (21,13)=(13,8)=(8,5)=(5,3)=(3,2)=(2,1)=(1,0)=1のように 6回の整除をする必要があります.これは (22,13)=(13,9)=(9,4)=(4,1)=(1,0)=1 4回よりも多いですね.

 f_0=1,f_1=1,f_{n+2}=f_{n+1}+f_n\ (n\geqq 0)

で定まる数列 \{f_n\}を定義して, a_n=0となる n\ (n\geqq 2) Nとおきます. 2\leqq n\leqq Nのとき a_{n-2}\gt a_{n-1}より a_{n-2} a_{n-1}で割った商は 1以上なので,

 a_{n-2}\geqq a_{n-1}+a_n

です. a_N=0なので, f_{n+2}=f_{n+1}+f_nと合わせて帰納的に考えると, 1以上 N以下のすべての nについて

 a_{N-n}\geqq f_n

が成り立ちます. n=Nとすると a\geqq f_Nが得られます.

つまり N-1回目の整除でユークリッドの互除法が終わるとしたら a\geqq f_Nであるということです.数列 \{f_n\}に現れる整数であって, a以下の最大のものを f_mとすれば, N\leqq mが成り立ちます. m\geqq 1のとき,

 f_m\geqq\left(\dfrac 32\right)^{m-1}

であることが数学的帰納法によって分かるので, m\leqq 1+\log_{\frac 32}aです. \lfloor\log_{\frac 32}a\rfloor回以内の整除で,ユークリッドの互除法が終わると言えるでしょう.

*1: a_1,a_2,...,a_n bの倍数ならば, x_1a_1+x_2a_2+\dots+x_nb_n bの倍数である.

*2: a,bの任意の公約数は, a,bの最大公約数の約数である.

*3:ここでは 0も含めていると思われる.

*4: a=b=0のときはエラーを吐かず, 0が返ってくる.

第一章初等整數論 §2最大公約數,最小公倍數(中編)

前回は,2つ以上有限個の,0でない整数の公倍数は最小公倍数の倍数であること[定理1.3]と,2つ以上有限個の,すべてが0ではない整数の公約数は,最大公約数の約数であること[定理1.4]を証明しました.

 

それでは読んでいきましょう.

次ノ定理ハ二ツノ整數 a,bニ關スルモノデアル.

これまでは2つ以上でしたが,ちょうど2つに限定した話になるようです.

 

[定理1.5]  a,bノ最小公倍數ヲ l,最大公約數ヲ mトスレバ,

 ab=lm

(但 a\gt 0,b\gt 0,l\gt 0,m\gt 0.トスル.)

有名な定理です.例えば,ユークリッドの互除法を用いて2つの数の最大公約数を求めることができるので,これを用いて最小公倍数を求めることができます.

この定理も,素因数分解の一意性によらずに証明できるようです.

 

[證]  l a,bノ公倍數デアルカラ

(1)

 l=ab'=ba

トスル.

 l=ab'=ba'の誤植でしょう. l=ab'=ba'となる a',b'が存在する,ということです.

 

サテ abハ勿論 a,bノ公倍數デアルカラ, ab lノ倍數デアル(定理1.3).

定理1.3は,「公倍数は,最小公倍数の倍数である」というものです.確かに ab lの倍数です.

 

由テ

(2)

 ab=dl

トスル.

 ab lの倍数なので,これを満たす dが存在します.

 

(1)カラ lニ代入シテ

(3)

 a=da',b=db'

ヲ得ル.故ニ d a,bノ公約數デアル.

たとえば, ab=dl l=a'bを代入して計算すると, a=da'が得られます.同様に b=db'が得られます. d aの約数でもあり, bの約数でもあるので, a,bの公約数です.

あとは,これが最大の公約数であることを示せばよいです.

 

由テ m=deトスル(定理1.4).

定理1.4は,「公約数は,最大公約数の約数である」というものでした. d mの約数なので,このような e(ただし, e\geqq 1)が存在します. e=1を示せばよいです.

 

然ルニ a,b mデ割リ切レルカラ(3)ニ於テ a',b' eデ割リ切レル.

 m aの約数であることから a=ma''となる a''が存在するので,(3)より ma''=da'です.ここで m=deなので, ea''=a'です.よって a' eで割り切れます.

 b'についても同様です.

 

由テ a'=ea'',~b'=eb''トシテ(1)ニ代入スレバ

 l=ab''e=ba''e

代入するとこのようになります.

 

若シモ e\gt 1ナラバ, l/e\lt l a,bノ公倍数ニナル.コレ不合理デアル.故ニ e=1,従テ m=d

背理法を使っているようですが,使わなくてもいけそうです.

上の式から e lの約数です. \dfrac le=ab''=ba''より \dfrac le a,bの公倍数なので, \dfrac le\geqq lです.よって e\leqq 1なので, e=1です.

 

故ニ(2)カラ ab=lm

うーむ.公約数や公倍数を弄繰り回しているだけで証明できてしまうのですね.

 

 a,b,c,...ノ最大公約數ヲ (a,b,c,...)ナル記號デ表ハスコトニスル.

もちろん,有限個の整数の組の場合です.

 (5,-10,20)=5,~(0,57)=57,~(1,-1)=1

のようになります.

 

 a,b,c,... \pm 1以外ノ公約數ヲ有セヌトキニハ,略シテ a,b,c,...ハ公約數ヲ有セヌトイフ.コノ場合ニハ (a,b,c,...)=1

略しすぎな気もしますが,それだけ「 \pm 1以外の公約数を有しない」という場合が出てくるのでしょうね.

ともあれ, \pm 1は任意の整数の約数であるので, \pm 1は必ず公約数になります.これら以外の公約数が存在しないなら,最大公約数は 1です.

 

特ニ二ツノ整數 a,bガ公約數ヲ有セヌトキニハ, a,b互ニ素トモイフ.

お馴染み,互いに素です.「公約数を有しない」は,「公約数が\pm 1のみである」の略だったので,「2つの整数の最大公約数が 1のとき」と言い換えてもよいでしょう.

 

次ノ定理ハシバシバ引用サレルモノデアルカラ特ニ大切デアル.

[定理1.6]  (a,b)=1デ,且 bc aデ割リ切レルナラバ, c aデ割リ切レル.

素因数分解を考えれば当たり前な気もしますが,これを用いて素因数分解の一意性を証明するのだ,と聞いたことがあります.どうやら,整数や素数の定義によっては,これが成り立たないこともあるようなのです.

現在は整数として有理整数のみを考えているのですが,他の整数ではどうなるか楽しみですね.

 

[證] 假定ニ由テ (a,b)=1デアルカラ, a,bノ最小公倍数ハ abデアル(定理1.5).

定理1.5とは, ab=lmというものでした. l a,bの最小公倍数, m a,bの最大公約数ですね.いま m=1なので, l=abです.

 

然ルニ假定ニ由テ bc aノ倍數,従テ a,bノ公倍數デアルカラ bc abノ倍数デアル(定理1.3).

 bc aの倍数でもあり, bの倍数でもあるので, a,bの公倍数です.

定理1.3とは,「公倍数は最小公倍数の倍数である」というものでしたから, bcは最小公倍数 abの倍数です.

 

故ニ \dfrac{bc}{ab}=\dfrac caハ整數,即チ c aデ割リ切レル.

 c aの倍数であることを示すには, bc abの倍数であることを示せばよい,ということでした.確かに bの情報をどこかに入れなければならないので,当然と言えば当然だったかもしれません.

第一章初等整数論 §2最大公約數,最小公倍數(前編)

前回は整除法について確認しました.整数 aと正整数 bに対して,

 a=bq+r,~0\leqq r\lt b

を満たす整数 q,rが一意に定まります. r\gt 0のとき, rを最小正剰余というのでした.また,

 a=bq+r,~|r|\leqq\dfrac b2

を満たす整数 q,rが存在します*1.このときの rを絶対的最小剰余というのでした.

 

では読んでいきましょう.

1. 二ツ以上ノ整數 a,b,...ニ共通ナル倍數(例ヘバ積 ab...ナド)ヲソレラノ整數ノ公倍數トイフ.

お馴染みの公倍数の定義が述べられています.

§1では 0の倍数についてのみ定義していませんでしたから,ここでの a,b,... 0でない整数ということなのでしょう*2

また,無限個の整数の組に 0でない共通の倍数が必ず存在すると言い切るにはちょっと怖いので,有限個の整数の組だと解釈しておきます.つまり,次のようになります.

 nを2以上の整数とする. n個の 0でない整数の組 a_1,~a_2,~\dots,~a_nに,共通の倍数が存在する.これを公倍数という.

有限個からなる 0でない整数の任意の組について,公倍数は必ず存在します.例えば 0や, a_1a_2\cdots a_nがそうです.

 

 0ハ公倍數デハアルガ,ソレヲ除ケバ,公倍數ノ中ニ最モ小(絶對値ニ於テ)ナルモノガアル.ソレヲ最小公倍數トイフ.

 a_1,~a_2,~\dots,~a_nのいずれも 0でなかったので, a_1a_2\cdots a_n 0ではありません.したがって 0でない公倍数が少なくとも1つ存在します.公倍数のうち絶対値が最小のものを最小公倍数という,ということです.

それだと 4 6の最小公倍数は \pm 12ってことになりますね.まじか!近くに具体例がないので,不安に駆られます.辞典の類を確認してみます.

手元の「数学小辞典 第2版」には「二つ以上の数の公倍数のうちで最も小さいもののこと.」(負の数や 0が考慮されていない)とあります.

また手元の「岩波数学辞典 第4版」には「いくつかの,どれかは 0ではない整数 a_1,~a_2,~\dots,~a_nの共通な約数を公約数,共通な倍数を公倍数という.…正の公倍数のうちで最小のものを最小公倍数という.」(そもそも 0の倍数が定義されていない)とあります.この「最小の正整数」の方が馴染みがあります.

この最小公倍数の定義の差異についてはちょっとチェックしておくことにしましょう.

 

二ツ以上ノ整數 a,b,...ニ共通ナル約數(例ヘバ 1ナド)ヲソレラノ整數ノ公約數トイフ.

お馴染みの公約数の定義です.約数の定義によれば, 0の約数は 0以外のすべての整数なので,今回は a,b,...として 0も許されます.

また,ここでも一応有限個の整数の組ということにしておきましょう.つまり,

 nを2以上の整数とする. n個の 0でない整数の組 a_1,~a_2,~\dots,~a_nに,共通の約数が存在する.これを公約数という.

 1(と -1)は任意の整数の約数なので,有限個からなる整数の任意の組について公約数は存在します.

 

公約數ハ絶對値ニ於テ a,b,...ヨリモ大ナルコトヲ得ナイカラ( a,b,...ガスベテ 0ナル場合ヲ除ケバ),ソノ中ニ最モ大ナルモノガアル.ソレヲ最大公約數トイフ.

定理1.1の前に「 |a|\lt |b| a bの約数であるときは, a=0.」というものがありました. a bの約数であるとき,この対偶をとると,

 a\neq 0ならば, |a|\geqq|b|である.

となります.だから, a 0でないとき, aの約数の絶対値は |a|以下です.よって a_1,~a_2,~\dots,~a_nがいずれも 0でないとき,これらの公約数の絶対値は \min\{|a_1|,~|a_2|,~\dots,~|a_n|\}以下です.

公約数の数は有限個であることからこの中に最大値が存在します.これが最大公約数です.こちらは最小公倍数とは違って,正のもののみを指しているように読めます.

 a_1,~a_2,~\dots,~a_n 0 0でない整数も含まれているときは, 0でない整数のみをとってきます.このような整数が2つ以上あるときは,これらの最大公約数を求めれば,任意の整数は 0の約数なので,それが a_1,~a_2,~\dots,~a_nの最大公約数ということになります.1つしかないときは,その数の絶対値が最大公約数です.

 a_1,~a_2,~\dots,~a_nがすべて 0のときは,任意の整数が 0の約数であることから最大公約数は存在しません.

 

本節デハ最大公約數及ビ最小公倍數ニ關スル基本的ノ定理ヲ述ベル.

節のタイトルにありますもんね.

 

事實トシテハ周知デアラウガ,往々無證明デ受ケ入レラレテヰルヤウデモアルカラ,コノ際反省ヲシテ見ルノモ無用デハアルマイ.

「反省」とは普通の捉え方を振り返って,それでよいか考えることです.

 a_1,~a_2,~\dots,~a_nの最大公約数は, a_1,~a_2,~\dots,~a_n素因数分解して,その指数部分の最小値を見ればよい,というような考え方は,中学・高校では証明なしで扱われているように思えます*3.こういうのもきちんと証明してみようというのです.

 

理論上デハ,最小公倍數ヲ先ニスル方ガ簡明デアル.

ほほう.

 

[定理1.3] 二ツ以上ノ整數ノ公倍數ハ最小公倍數ノ倍數デアル.

たとえば, 4,6の最小公倍数は \pm 12ですが,公倍数 \dots,{-36},-24,-12,0,12,24,36,\dotsはすべて 12の倍数であるというのです.なんか当たり前だと思うのですが,なぜ当たり前かと言われると,素因数分解の一意性を根拠にしている気がします.

「最小公倍数」と言っているので,ここでの「2つ以上の整数」というのは「2つ以上有限個の,0でない整数」ということだと解釈します.

 

[證]  a,b,c,...ノ最小公倍數ヲ lトシ (l\gt 0) mヲ任意ノ公倍數トスル.

必要なものを文字で置いていきます. l\gt 0という文言が見えますね.やはり,最小公倍数は正負どちらも入るので,ここでは正のものをとってきている,という解釈が正しいのでしょう.

ともかく,ここから m lの倍数であることを証明すればよいです.

 

サテ

(定理1.2)

 m=ql+r,\quad 0\leqq r\lt l

トスレバ

 r=m-ql

デ, m l aノ倍數デアルカラ, r aノ倍數デアル(定理1.1).

定理1.2というのは整除法のことで, aは任意, b\gt 0ならば, a=bq+r,0\leqq r\lt bとなる q,rがただ一組存在する,というものです.

 r=0なら m lの倍数であることが言えるので,一歩前進した感じがします.

また定理1.1というのは, a_1,~a_2,~\dots,~a_n bの倍数ならば, a_1x_1+a_2x_2+\dots+a_nx_n bの倍数であるというものです.今回は, n=2 a_1=m,a_2=l x_1=1,x_2=-qの場合ということです.

 

同様ニ r b,c,...ノ倍數デアル.

上の議論は aに限らず, bでも cでも成り立ちます.

 

即チ r a,b,c,...ノ公倍數デアル.

まさに公倍数の定義に従っています.

 

 l a,b,c...ノ公倍數ノ中デ, 0ヲ除イテ最小絶對値ノモノデ, r\lt lデアルカラ, r=0.即チ m=ql

ここで最小公倍数の「最小である」という性質を使うのですね. lが正の最小公倍数のとき, 0\lt r\lt lの範囲に公倍数はありません.うまいなあ.

これで素因数分解の一意性に依拠せずに,「公倍数は最小公倍数の倍数である」ことが示されました.

 

[定理1.4] 二ツ以上ノ整數ノ公約數ハ最大公約數ノ約數デアル.

例えば 36,48の最大公約数は 12ですが,他の公約数 -12,-6,-4,-3,-2,-1,1,2,3,4,6,12はすべて 12の約数となっています.これがどんな場合にも成り立つと主張しています.

ここでも,「2つ以上の有限個の整数で,すべて 0ということはない」と解釈しておきます.

 

 a,b,c,...ノ最大公約數ヲ mトシ, dヲ任意ノ公約數トスル.

必要なものを文字で置いていきます.こちらには m\gt 0の文言はありません. mは正の数であることは定義に従うからです.

 

然ラバ d mノ約數デアルトイフノハ, m dトノ最小公倍數ガ mデアルトイフニ同ジイ.

「同じい」は現代では「同じだ」と言い換えられてしまうことが多い言葉です.

 d mの約数であるということは, m dの(正の)最小公倍数が mに一致するということと同値である,ということですね.

いちおう,説明してみます. d mの約数のとき, m=dqとなる qが存在します. d dqの正の最小公倍数は dqで,これは mに等しいです.

逆に mdの最小公倍数が mのとき, m dの倍数であり,これは d mの約数であることと同じ意味です.

最小公倍数の話に持っていこうとしているみたいですね.

 

 l m dトノ最小公倍數トスル.

 m d 0でない( 0は約数にならない)ので,最小公倍数が存在します.これを lとおいて, l=mを示そうというのでしょう.

 

サテ假定ニ由テ a mノ倍數デアリ又 dノ倍數デアルカラ, a m,dノ公倍數,従テ lノ倍數デアル.(定理1.3).

 m,dの公倍数 aは最小公倍数 lの倍数であることは,先程示した[定理1.3]によっています.

 

同様ニ b,c,... lノ倍數デアル.

 aに限らず, b,cでも同様の議論ができますから,その通りです.

 

故ニ l a,b,c,...ノ公約数デアル.

まさに公約数の定義です.

 

故に l\leqq m

 mは公約数のうち最大のものだったので, l\leqq mです.

 

然ルニ l mノ倍数デアルカラ l\geqq m,故ニ l=m

「然るに」は「それにもかかわらず」という意味の言葉です.

 m dの最小公倍数を lとしたので, l mの倍数です.

 l\leqq mかつ l\geqq mなので, l=mが言えたわけですが,狐につままれた気持ちです.ともかくこれで公約数の方も,素因数分解の一意性によらずに証明することが出来ました.

*1: bが偶数で, a \dfrac b2の奇数倍のときは一意でないが,それ以外の場合は一意.

*2: 0の倍数は 0のみであると定めれば矛盾なく定義できると思うが,最小公倍数は存在しなくなる.

*3:素因数分解ができるのか,できたとして一意なのか,というところが怪しい(らしい).

第一章初等整數論 §1整數ノ整除(後編)

前回は aの倍数の和や, aの倍数の倍数は, aの倍数であることを証明しました.

次ノ定理ハ基本的デアル.

[定理1.2]  aハ任意ノ整數デ, b\gt 0ナラバ,

 a=bq+r,0\leqq r\lt b

ヲ滿足セシメル整數 q,rガ唯一組ニ限テ存在スル.

除法の原理ですね.例えば a=13,b=4とすると

 13=4q+r, 0\leqq r\lt 4

を満たす q,rの組は q=3,r=1の唯一つです.これを小学校の算数以来,「 13 4で割ったときの商は 3で,余りは 1である」と表現してきました.

 aが負の数でも同様に商や余りを定義することができます. a=-13,b=4とすると

 -13=4q+r, 0\leqq r\lt 4

を満たす q,rの組は q=-4,r=3です.

無数の計算練習によって, a,bが与えられたとき,このような q,rの組は一通りであることはほとんど実感できていますが,証明できるようです.

[證]  bノ倍數ヲ

 \ldots\ldots,{-3b},{-2b},{-b},0,b,2b,3b,\ldots\ldots

ノヤウニ大サノ順序ニ並ベルト,ソレラノ中ニハ絶對値ニ於テ如何程デモ大キイモノガアルカラ,實數 xノ全範圍ガ

 qb\leqq x\lt (q+1)b

ノヤウナ無数ノ區間ニ分タレル.

実数を互いに交わらない半開区間に分けたようです.例えば b=4なら,

 \ldots\ldots-8\leqq x\lt-4,-4\leqq x\lt 0,0\leqq x\lt 4,4\leqq x\lt 8,8\leqq x\lt 12,\ldots\ldots

のように分けたような感じでしょう.

 aコレラノ區間ノ中ノ唯一ツニ属スルカラ

 qb\leqq x\lt(q+1)b

ニナルヤウナ qガ存在スル.

唯一つに属する,というのがミソですね.

然ラバ

 a-bq=r

ト置クトキ,

 0\leqq r\lt b.

まったくその通りですね.実際, 13 4で割った商と余りを求めるときは, 4q\leqq 13\lt 5q

すなわち \dfrac{13}4以下で最大の整数 qを求め, r=13-4qとして余りを求めています.操作的な証明ですね.

しかし実数を無数の区間に分けるのではなく,整数を無数の区間に分けるのではいけなかったのでしょうか?

いや,これによって実数にも商と余りが定義できるようになるのでしょうか.うーん.

 q,rガ唯一組ニ限テ存在スルコトモ明白デアルガ,念ノ爲ニ證明スレバ次ノ通リ.

確かに,他の q \dfrac ab以下で最大の整数でない q)であって,

 a=bq+r,0\leqq r\lt b

である rが存在しないことを明確に証明してはいませんでした.

若シモ

 a=qb+r,\qquad 0\leqq r\lt b

 a=q'b+r',\qquad 0\leqq r'\lt b

トスレバ

 (q-q')b=r'-r

即チ r'-r bデ割リ切レル.

一意性の証明の際は,「二つあるとして考えてみたけど,やっぱり一つだったよ」の形の証明が有効です. aを消去してみると r-r' bの倍数であることが言えます.ふむふむ.

然ルニ假定ニ由テ |r'-r|\lt b.故ニ r'-r=0,従テ q-q'=0.即チ q=q',r=r'

前編で証明した定理「 |a|\lt |b| a bで割り切れるときは, a=0である.」を早速使っています.もっと言い換えると, -b\lt a\lt bの範囲に bの倍数は 0しかないので, a=0です.

めでたくこれで唯一であることも言えました.除法の原理が証明できました!

整数 aと正整数 bが与えられたら, a=bq+r,0\leqq r\lt bを満たす q,rが一意に定まります.これを求める演算を整除法,剰余付き除法などと言うようです.

[例]  b=12トスレバ,

 a=50ノトキ, q=4,r=2.

 a=-50ノトキ, q=-5,r=10.

 a=-5ノトキ, q=-1,r=7.

例示ですね.他にも, a=5なら q=0,r=5となりますし, a=12なら q=1,r=0となります.

定理1.2ニ於テ r=0ナルトキガ,即チ a bデ割リ切レル場合デアル.

 r=0ならば a=bqだし, a=bqであるなら r=0なので,疑いありません.

 r\gt 0ナルトキニハ, rヲ「 bヲ法トシテノ a最小正剰餘」トイフ.

「あまり」が 0でないときは,「最小正剰余」というようです.「余」は「餘」の略字みたいです.

 q \dfrac abヨリモ大デナクテ,ソレニ最モ近イ整数デアル.

 \dfrac abより大でない,ということは \dfrac ab以下ということです.つまり

 q\leqq\dfrac abを満たす最大の整数ということです.

一般に實數 xヨリモ大ナラザル最大ノ整数ヲ [x]デ表スコトガアル(ガウスノ記號).

ガウス記号です.床関数 \lfloor x\rfloorと呼ばれることもあるでしょう.床関数はwikipediaによれば1962年に導入されたそうなので,この本には登場していません.

然ラバ q=\left[\dfrac{a}{b}\right]

 q a,bが決まれば一意に決まるので,これを表す記号があるのは大きいですね.ちなみにpythonなどのプログラミング言語では, qはa//bで, rはa%bで表します.

しかし頑なに「 qを商, rを余りという」みたいな文言が出てこないですね.もしかしたら,特に名前はついていなかったのかもしれません.

若シモ a/bヨリ大キクテモ,小サクテモ,ソレニ最モ近イ整數ヲ qトスルナラバ

 \left|\dfrac ab-q\right|\leqq\dfrac 12

これまでの \left[\dfrac{a}{b}\right] に等しい qとは異なるようです.

どんな実数も,何かの整数から \dfrac 12より大きくは離れていませんから,それはそう,ということになります.実数を覆いつくすように

 \ldots\ldots,~{-\dfrac 12\leqq x\leqq\dfrac 12},~\dfrac 12\leqq x\leqq\dfrac 32,~\dfrac 32\leqq x\leqq\dfrac 52,\ldots\ldots

のような閉区間に分割して考えれば, \dfrac abはこのいずれかには属すので,そこに含まれる整数を qとした,ということでしょう.

整数からの距離が \dfrac 12より小さいと隙間ができてしまうので, \dfrac 12が実数を覆いつくすことができる最小の数です.

ソノトキ a-bq=rトオケバ, |r|\leqq\dfrac b2

これは計算しただけです.

 \left|\dfrac ab-q\right|=\dfrac{|a-bq|}b=\dfrac{|r|}b\leqq\dfrac 12

なので,

 |r|\leqq\dfrac b2

が得られます.当然 rは整数です.

故ニ

 a=bq+r,~|r|\leqq\dfrac b2

ニナルヤウナ q,rハ必ズアルガ,コノ場合ニハ q,rガ二組生ズルコトモアル.

さきほど最小正剰余を考えたときは q,rがただ一組でしたが,今回は一組とは限りません.それは \dfrac abに最も近い整数が2つ存在するときです.たとえば \dfrac 52 2とも 3とも距離が等しく, qとしてどちらも取り得ます.

ソレハ bガ偶數デ, a \dfrac b2ノ奇數倍ナル場合デアル.

 \dfrac ab=\dfrac c2であり, cが奇数となる場合なので,まあそうでしょう. a=\dfrac{bc}2で, bが奇数だとすると bcも奇数なので aが整数であることに反します.よって bは偶数でなければならず,このとき a=\dfrac b2\cdot cなので \dfrac b2の整数倍です.

 a=(2h+1)\dfrac b2ナラバ, q=h,r=\dfrac b2;又ハ q=h+1,r=-\dfrac b2

 a=bh+\dfrac b2のとき, q=hとしても q=h+1としても |r|\leqq\dfrac b2です.

上記ノヤウニ, |r|\leqq\dfrac b2ナル rヲ「 bヲ法トシテノ a絶對的最小剰餘」トイフ.

絶対的最小剰余.最小正剰余の場合は |r|\leqq bだったので, rの絶対値が小さくなっています.その代わりに rとして負の値が出てきたり,唯一性が失われたりしています.特に r=0の場合が除外されているわけではないので, r=0のときも rを絶対的最小剰余と言う,ということなのでしょう.

[例]  b=12ノトキ,

 a=70ナラバ, q=6,~r=-2.

 a=-67ナラバ, q=-6,~r=5.

 a=30ナラバ, q=2,r=6又ハ q=3,r=-6.

例が載っています. q \dfrac abに最も近い整数をとっていけばよいので, \dfrac{70}{12}=\dfrac{35}6=5.833\dotsより q=6で, r=a-bq=-2です.

また \dfrac{-67}{12}=-5.583\dotsより q=-6で, r=a-bq=5です.

 \dfrac{30}{12}=\dfrac 52=2.5より q=2,3で, r=a-bq=6,-6です.

第一章初等整數論 §1整數の整除(前編)

序文によれば,有理整数(有理数であって,整数であるもの)だけで考察できるのが,第一章なのでした.

1. 本章デハ整數ノ整除,倍數,約數ナドニ關スル最モ卑近ナル理論ヲ述ベル.

整除というのは,いわゆる「割り切れる」というやつです.倍数,約数はさすがに分かります.序文は漢字かな交じりだったのに,本文は漢字カナ交じりなんですね.

中ニハ周知ノ事項モアラウガ,一應根本カラ系統的ニ考察ヲシテオク必要ガアル.

それはそうですね.

本章デハ文字ハ必ズ整數ヲ表ハスノデアルカラ,一一ソレヲ斷ラナイ.

文字は必ず整数. aとか bとかのラテンアルファベットのことであって,ひらがなやカタカナのことではないでしょう.

尤モ整数トイウノハ

 \ldots\ldots{-3},-2,-1,0,1,2,3,\ldots\ldots \

等,正及ビ負ノ整數ト 0トヲ總括シテ言フノデアル

 0から始まって, 1ずつ増やしていくと 0,~1,~2,~3,\dotsとなり,減らしていくと 0,~{-1},~{-2},~{-3},\dotsとなるのでした.よく知っている整数を具体的に述べています.

整數ノ和,差及ビ積ハ整數デアルガ,商ハ特別ナル場合ノ外ハ整數デナイ.

整数の和,差,積は整数です.ここでは認めてしまって先を急ぎます.

商が整数になったり整数にならなかったりするのは,具体例を示してしまえばよいですね.たとえば 2 1で割ると 2となってこれは整数ですが, 1 2で割ると \dfrac 12となって,これは整数ではありません.

 a/bガ整数 qニ等シイトキ,即チ

 a=bq\ (b\neq 0)

ノトキ, a bデ割リ切レルトイフ.

むむむ,違和感のある文です.「 a bで割り切れる」は, a,bに関する条件なのに,「 a=bq\ (b\neq 0)」は a,b,qに関する条件です.後半は,「 a=bq\ (b\neq 0)となる qが存在するとき」という感じでしょうか.述語論理に毒されすぎでしょうか…

ともかく, a/bが整数なら, a bで割り切れるのでした. 6 2で割り切れます,なぜなら 6/2=3だからです.みたいな意味ですね. \dfrac ab a/bは同じ意味です.

 a bノ倍數, b aノ約數トイフ.

まったくその通りです.先の例でいえば, 6/2=3なので 6 2の倍数だし, 2 6の約数です.

コノ定義ニ由レバ, 0ハ任意ノ整數 b(但 b\neq 0)ノ倍數デアル.

 0でない任意の整数 bに対し, \dfrac 0b=0です. 0は整数なので確かに 0は任意の( 0でない)整数の倍数だと言えますし,任意の( 0でない)整数は 0の約数だと言えます.

 0 0の倍数でしょうか.それは定義されていないので何とも言えません.定義する必要があるときに定義すればよいでしょう.

 |a|\lt|b| a bデ割リ切レルトキハ, a=0.( \left|\dfrac ab\right|\lt1ガ整數デアルカラ,ソレハ 0,從テ a=0.)

んん,一気に複雑になった気がします.大雑把に言えば, a,bが正の整数のとき, bより小さい整数 a bの倍数になるのは,  a=0のときしかありえない,と言っているようです.

証明はカッコ内にありますね. \dfrac{|a|}{|b|}=\left|\dfrac ab\right|\lt 1だから -1\lt\dfrac ab\lt 1です. \dfrac abは整数なので \dfrac ab=0です.よって a=0です.

次の問題は「数学オリンピック事典」という本に載っていた問題です.

 11x+1 x^2+3の倍数となるような正の整数 xをすべて求めよ.

 xが大きいとき 11x+1\lt x^2+3となるので, xの範囲を絞り込めそうです*1

 11x+1 0にならないので, 11x+1\geqq x^2+3でなければなりません.つまり 1\leqq x\leqq 10であることが必要です.このとき 11x+1 x^2+3の倍数となるような xを調べ上げれば, x=1,5であることが分かります.

こんな感じで, a bの倍数であるとき, |b| |a|より小さくなるような bが有限個しかないときは,時間さえかければ解決するはずです.

[定理1.1] 或ル整數ノ倍數ノ和,又ハ倍數ノ倍數ハソノ整數ノ倍數デアル.一般ニ a_1,a_2,\cdots,a_n bノ倍數ナラバ,

 a_1x_1+a_2x_2+\dots+a_nx_n

 bノ倍數デアル.

 aの倍数同士の和や, aの倍数の整数倍は, aの倍数です.当然な気がしてきます.定義に従って証明します.

[證]  \dfrac{a_1x_1+a_2x_2+\ldots+a_nx_n}b=\dfrac{a_1}bx_1+\dfrac{a_2}bx_2+\ldots+\dfrac{a_n}bx_n

デ,假定ニ由テ右邊ハ整数ノ和デアルカラ.

ある数 a bの倍数であるかどうかは, \dfrac abが整数であるかどうかを見ればよいのでした.ここでは

 \dfrac{a_1x_1+a_2x_2+\ldots+a_nx_n}b

が整数であるかどうかが問題です.分配法則によって

 \dfrac{a_1x_1+a_2x_2+\ldots+a_nx_n}b=\dfrac{a_1}bx_1+\dfrac{a_2}bx_2+\ldots+\dfrac{a_n}bx_n

とできます.ここで右辺に現れる \dfrac{a_1}b,~\dfrac{a_2}b,~\dots,~\dfrac{a_n}bは整数であり,整数の積や和は整数であるので, \dfrac{a_1x_1+a_2x_2+\ldots+a_nx_n}bも整数です.

*1:これが逆だと絞り込めず,無数の xについての探索になってしまう.このようなときは別の手段に頼ることになるだろう.