互いに素な整数に成り立つ重要な定理
【目次】
1.定理の紹介
2.「互いに素」の定義の復習
2-1.定義をさかのぼること
2-2.定義を理解すること
3.定理の「割り切る」による言い換え
4.定理の証明
4-1.証明1 素因数分解の一意性を用いて
4-2.証明2 ユークリッドの補題を用いて
定理の紹介
教科書(数研出版、高校数学の教科書、以下同じ。詳しくは、高校数学マスター基本方針:参考にする教科書を参照ください)P.118で紹介されている、以下の互いに素な整数に成り立つ定理を今回は証明します。
【互いに素な整数に成り立つ定理】
a,b,kは整数とする。
a,bが互いに素で、akがbの倍数であるならば、kはbの倍数である。
この定理は、整数に関する基本的な定理で、様々な定理の証明のポイントとして使われますので、教科書では証明抜きで紹介されていますが、きちんと証明まで理解しておくと良いと思います。
実際、応用問題をあれこれと解く前に、このような基本的な定理に対して疑問をしっかりと持ち、自分できちんと証明することができるようにしておけば、難関大の問題もそれほど苦労せずに解答できるようになるのではないかと思います。
なぜなら、難しい問題ほど、解答のポイントとなる事柄は、このような基本的な定理の証明の中に凝縮されているものだからです。言い換えれば、原理がきちんと理解できているかが、数学の問題のすべてだからです。
このことは、数学以外の学問の多くでも同様にあてはまります。手を動かし反復練習することも大切なことですが、効率よく楽に勉強したければ、最初は大変でも原理を掴み取ってしまうよう心掛けることが大切です。
「互いに素」の定義の復習
定義をさかのぼること
まず、「互いに素」の定義を復習しましょう。教科書では、
整数a,bが互いに素であるとは、a,bの最大公約数が1であること
とされています。
では、さらに最大公約数の定義を復習すると、
公約数のうち最大のものを最大公約数という
とされています。
では、さらに公約数の定義を復習すると、
2つ以上の整数に共通な約数を、公約数という
とされています。
では、さらに約数の定義を復習すると、こちらのページ「素因数分解の一意性(算術の基本定理)の証明:自然数、整数、約数、倍数」をご覧ください。
このように、定義というのは、頭の中であれ、それができなければ、手を使ってであれ、前に前に遡ってきちんと確認することが大切です。
そうすると、「互いに素」の定義は、結局は、約数の定義に帰着することが分かります。
定義を理解すること
この約数の定義から、公約数があり、最大公約数があり、互いに素の場合があり得る、ということを確認すれば、「互いに素」の定義を理解したことになります。
それでは、約数の定義から、公約数があり、最大公約数があり、互いに素の場合があり得る、ということを確認してみましょう。
そのためにはまず、「素因数分解の一意性(算術の基本定理)の証明:補題2 約数の一意性の証明」をご覧ください。
そうすると、上記【補題2 約数の一意性の証明】より、すべての整数の約数は一通りに決まっているので、2つ以上の整数に共通な約数も一通りに決まります。つまり、2つ以上の整数の公約数は一通りに決まります。
2つ以上の整数の公約数は一通りに決まるので、その中で最も大きな整数も決まります。それが最大公約数となるわけです。
そして、その2つ以上の整数の中で、一つに定まる最大公約数が1の場合に、それらの整数を互いに素と呼ぶというのです。
ただ、通常は「互いに素」という言葉は、「互いに素」の定義にあるように二つの整数の間に用いる言葉なので、三つ以上の整数の条件として用いる場合には、より具体的な言葉の説明をするべきでしょう。
このような理解が深まれば、次のような「互いに素」の別の定義の仕方も思い浮かびます。
互いに素な整数とは、1と−1以外に公約数を持たない相異なる整数のことである。
なぜなら、約数の定義より、1と−1はすべての整数の約数で、それしか公約数を持たなければ、最大公約数は1となります。
一方、最大公約数が1であるならば、仮に1と−1以外に公約数nを持てば、必ず|n|>1が成り立ちます。そのため、1よりも大きな公約数が存在して、最大公約数が1となることと矛盾します。したがって、1と−1以外に公約数を持ちません。
あるいは、互いに素な整数とは、1以外に正の公約数を持たない相異なる整数のことである、の方がすっきりしているかもしれません。
定理の「割り切る」による言い換え
次に、教科書の【互いに素な整数に成り立つ定理】は、次のように言い換えることもできます。
a,b,kは整数とする。
a,bが互いに素で、akがbで割り切れるならば、kはbで割り切れる。
まず、「互いに素」という条件から、aが0の場合には、bは1または−1となります。
なぜなら、これも約数の定義より、0の約数はすべての整数なので、1と−1以外の任意の整数zと0の公約数には少なくとも1と−1以外にz自身が含まれるので、0は1と−1以外のどの整数とも互いに素になりえず、0と互いに素な数は1と−1に限られるからです。
したがって、kがどのような整数であってもb(1または−1)で割り切れることがいえます。
一方で、bは割る数ですので、前提としてb≠0でよいでしょう。そこで、ここからはaとbともに0でないことを前提としましょう。
次に、akはbで割り切ることができて余りは0になるので、ある整数lがあって、ak=blと表すことができます。
したがって、倍数の定義より、akはbの倍数となります。
これは、kについても同様です。つまり、kがbの倍数となることが示したい結論となります。
逆の主張、「倍数 ⇒ 割り切れる」については、次のページを「素因数分解の一意性(算術の基本定理)の証明:定義 割り切るとは」をご覧ください。
ちなみに、約数と倍数の定義により「bがakの約数であること」、と「akはbの倍数であること」が同値であることも注意してください。
定理の証明
それでは、説明が長くなりましたが、以下に証明を二つ紹介したいと思います。
【互いに素な整数に成り立つ定理】
a,b,kは整数とする。
a,bが互いに素で、akがbの倍数であるならば、kはbの倍数である。
証明1 素因数分解の一意性(算術の基本定理)を用いて
【証明1 素因数分解の一意性(算術の基本定理)を用いて】
まず、a,b,kをきちんと場合分けして考えましょう。
前述のとおり、前提としてaとbは0ではない場合について考えましょう。
aが1の場合には、ak=kとなるので、kはbの倍数であることが分かります。
aが−1の場合には、ak=−kとなるので、−kはbの倍数であり、bの倍数は正負を入れ替えてもやはり倍数なので、kがbの倍数であることが分かります。
bが1の場合には、すべての整数は1の倍数なので、kはbの倍数であることが分かります。
bが−1の場合には、−1の倍数は1の倍数と等しいので、kはbの倍数であることが分かります。
kが0の場合には、0はすべての整数の倍数なので、kはbの倍数であることが分かります。
kが1の場合には、aがbの倍数でなければなりませんが、そのときaとbの最大公約数は|b|となり、aとbは互いに素なので、|b|=1となります。
したがって、bが1又は−1の場合のみを考えればよく、上記より、kはbの倍数であることが分かります。
kが−1の場合には、まず、aと−aはともに同じ0以外の整数を範囲とするので、上記「kが1の場合」はaを−aとしても成り立つことが分かります。
そこで上記「kが1の場合」に「aを−a」とすると、1⋅−a=−1⋅aであり、1がbの倍数であれば、−1もbの倍数なので、−1を改めてkと取り直せば、kが−1の場合も成り立つことが分かります。
したがって、後は|a|,|b|,|k|≥2を示せばよいことになります。
2以上の合成数は、一意に素因数分解することができるので、|a|を素因数分解した積に含まれる素数の組合せは一通りに定まります。
ただし、ここでは、|a|が素数の場合は、|a|それ自体を一意に定まった素数の組合せとみなします。
そこで、aを素因数分解してできる、符号付の素数の組合せの積をAとします。
同様に、kを素因数分解してできる、符号付の素数の組合せの積をKとします。
すると、akを素因数分解すると、やはり、一通りに定まった符号付の素数の組合せの積になりますが、
ak=AKなので、その一意の素因数分解は、AKであることが分かりました。
一方、akはbの倍数なので、ある整数lがあって、ak=blが成り立ちます。
すると、blを素因数分解すると、やはり、一通りに定まった符号付の素数の組合せの積になるので、
bl=ak=AKより、その一意の素因数分解は、同じくAKであることが分かります。
ここで、bを素因数分解してできる、符号付の素数の組合せの積をB、
lを素因数分解してできる、符号付の素数の組合せの積をLとします。
ただし、lが1又は−1の場合には、L=lとします。
すると、blの素因数分解も、一通りに定まった素数の組合せの積になるので、BL=bl=ak=AKより、AKとBLが素数の組合せとして等しいことが分かります。
ここで、Bに含まれる任意の素数をpとします。
pがAにも含まれるとすると、pはaとbの1ではない最大公約数となり、互いに素であることに反します。
したがって、pはAに含まれません。
しかし、AKとBLは、素数の組合せとして等しいので、pはAKには含まれる必要があります。
したがって、pはKに含まれています。
つまり、Bに含まれるすべての素数pは、Kに含まれるので、ある整数l‘があって、K=Bl‘と表すことができます。
したがって、k=bl‘であり、kがbの倍数であることが示されました。□
証明2 ユークリッドの補題を用いて
【証明2 ユークリッドの補題を用いて】
素因数分解の一意性を用いると、素数の組合せという考え方が必要になったり、少しややこしくなってしまいます。
同じような証明ですが、直接、ユークリッドの補題(参照:素因数分解の一意性(算術の基本定理)の証明-補題3 ユークリッドの補題の証明)を用いた方が、多少、分かりやすくなるかと思います。
【証明1 素因数分解の一意性(算術の基本定理)を用いて】で確認した細かな論拠は、繰り返しになるので省いて証明したいと思います。もしも、議論が追えない場合には、【証明1】がヒントになるだろうと思いますので、読み返してみてください。
まず、|a|,|b|,|k|<2の場合は、【証明1】と同じとして、|a|,|b|,|k|≥2の場合についてのみ考えたいと思います。
合成数は、素因数分解することができるので(参照:素因数分解の一意性(算術の基本定理)の証明-素因数分解の存在の証明)、|b|が合成数ならば素因数分解ができます。
そこで、bが含む任意の素数pについて、akはbの倍数なので、pはakを割り切ります。
したがって、ユークリッドの補題より、pはa又はkを割り切りますが、aを割り切るとすると、pはaとbの公約数となり、aとbが互いに素であることに矛盾します。
したがって、pはkを割り切ります。
つまり、bに含まれるすべての素数pは、kを割り切るので、kがbの倍数であることが示されました。□
そもそも、どのような条件の下で、整数の積の全体が割り切れるときに、その積を構成する整数も割り切れるのか、という問題意識は、ユークリッドの補題と共通する点があります。
ある条件の下で全体の性質が部分にも適用できる、という事実は、たしかにとても強力な条件となるので、重要性が高いのだろうと思います。
実際、様々な問題を解く場面で、この定理は用いられます。
著者:L&M個別オンライン教室 瀬端隼也
公開日:2019年7月11日
最終修正日:2025年2月28日
修正日:2025年2月28日
第3章「定理の「割り切る」による言い換え」のl4~10について以下の通り修正しました。
修正前:
「まず、「互いに素」という条件から、aもbも前提として0にはなれません。
なぜなら、これも約数の定義より、0の約数は、すべての整数なので、任意の整数zと0の公約数には、少なくとも1と−1以外にz自身が含まれるので、0は1と−1以外のどの整数とも互いに素になりえないからです。
したがって、b≠0です。そのため、akをbで割ることができ、それが割り切れるので余りは0になります。
つまり、ある整数lがあって、ak=blと表すことができます。
したがって、倍数の定義より、akはbの倍数となります。
これは、kについても同様です。』
修正後:
『まず、「互いに素」という条件から、aが0の場合には、bは1または−1となります。
なぜなら、これも約数の定義より、0の約数はすべての整数なので、1と−1以外の任意の整数zと0の公約数には少なくとも1と−1以外にz自身が含まれるので、0は1と−1以外のどの整数とも互いに素になりえず、0と互いに素な数は1と−1に限られるからです。
したがって、kがどのような整数であってもb(1または−1)で割り切れることがいえます。
一方で、bは割る数ですので、前提としてb≠0でよいでしょう。そこで、ここからはaとbともに0でないことを前提としましょう。
次に、akはbで割り切ることができて余りは0になるので、ある整数lがあって、ak=blと表すことができます。
したがって、倍数の定義より、akはbの倍数となります。
これは、kについても同様です。つまり、kがbの倍数となることが示したい結論となります。』
第4章1節「証明1 素因数分解の一意性を用いて」l3、『前述のとおり、0は1と−1以外のどの整数とも互いに素になりえないので、前提として、aとbは0ではないことが分かります。』を『前述のとおり、前提としてaとbは0ではない場合について考えましょう。』に修正しました。
全 7 件のコメント
「0はどの整数とも互いに素になりえない」とありますが、「0の約数は、すべての整数」であるなら0と1、0と-1は最大公約数が1となり、互いに素となるのではないでしょうか。
ご指摘ありがとうございます。その通りだと思います。1と-1は0と互いに素になりますので、1と-1以外の整数とすべきでした。申し訳ございません。
余談ですが、ここまでこだわる必要があるのかと思われる読者の方もいるかもしれませんが、案外、細かなところ(議論の端)が重要になることが多いのも数学です。
「0の約数はすべての整数」という解釈については、ユークリッドの互除法でもすっきりとした理解の助けになりますし、また、自分の研究においてもgcd(n,0)=nが必要になることが実際にありました。
重ねて御礼申し上げます。
ちなみに、この定義によると通常n>0であればgcd(n,n)=nとなりますが、gcd(0,0)=∞となるのは面白いですね。
ご返答、ご教示ありがとうございます。正直、0とか∞には恐怖を感じます。gcd(0,0)=∞をおもしろいと思える人が数学を研究できる人なんでしょうね。
いえ、滅相もございません。こちらこそありがとうございました。
定理を方程式で表してくれるとありがたいです
コメントありがとうございます。
色々な段階の方がいらっしゃいますので、いつも表現の仕方には頭を抱えています。
本ページの場合は、こんなgcd(a,b)=1∧ak≡0 (mod b)⇒k≡0 (mod b)ところでしょうか。
※このサイトはreCAPTCHAによって保護されています。そのためGoogleのPrivacy PolicyとTerms of Serviceが適用されます。