アイゼンシュタインの定理

少し長い定理ですが,高校数学の範囲でもしばしば活躍する定理です!

アイゼンシュタイン(Eisenstein)の既約判定定理

ある素数 pp が存在して以下の3つの条件を満たすとき,整数係数多項式 f(x)=anxn+an1xn1++a1x+a0f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots +a_1x+a_0 を(整数係数の範囲でできるとこまで)因数分解すると必ず kk 次式以上の因数がでてくる。

  • a0a_0pp の倍数だが p2p^2 の倍数でない
  • a1a_1 から ak1a_{k-1} まで全て pp の倍数
  • aka_kpp の倍数でない

特に,k=nk=n の場合に3つの条件を満たす式は既約(それ以上因数分解できない)です。

アイゼンシュタインの判定法とも呼ばれます。

アイゼンシュタインの定理の嬉しさ

  • アイゼンシュタインの定理は,「式が因数分解できない」ことを証明するときに使う定理です。「因数分解できる」ことを示すのは因数分解してやればよいので簡単ですが,「因数分解できない」ことを示すのはわりと大変なので嬉しいです。
  • 因数分解できないことを示す問題は入試では見たことがありませんが,間違えた立式などにより明らかに因数分解できない式を頑張って因数分解しようとするような過ちを防げます。
  • 数学オリンピックでは因数分解できないことを示す問題も出題されたことがあります。
  • 以下では3つほど応用例を紹介してからアイゼンシュタインの定理を証明します。

アイゼンシュタインの定理の例題

まずは簡単な例です:

例題1

x3+6x2+3x+12x^3+6x^2+3x+12 が因数分解できないことを示せ。

解答

(xa)(x-a) を因数に持つならば aa1212 の約数である(→方程式の有理数解)ので全部調べればよいのだが,めんどうなのでアイゼンシュタインの定理を使う。 p=3p=3 とする。

  • a0=12a_0=1233 の倍数だが 99 の倍数でない。
  • a1=3,a2=6a_1=3, a_2=633 の倍数。
  • a3=1a_3=133 の倍数でない。

よってアイゼンシュタインの定理より因数分解できない。

次は平行移動を用いた少しレベルの高い例です。

例題2

x51x^5-1 を因数分解せよ。

解答

これは,因数分解公式(n乗の差,和)で紹介したように,x51=(x1)(x4+x3+x2+x+1)x^5-1=(x-1)(x^4+x^3+x^2+x+1) と分解できる。

ここで, 厳密には f(x)=x4+x3+x2+x+1=x51x1f(x)=x^4+x^3+x^2+x+1=\dfrac{x^5-1}{x-1} がこれ以上因数分解できないことを証明しないといけない。

しかしこのままではアイゼンシュタインの定理が使えないので,平行移動して f(x+1)f(x+1) が因数分解できないことを示す。(f(x)f(x) が因数分解できるかどうかと f(x+1)f(x+1) が因数分解できるかどうかは同値)

f(x+1)=(x+1)51x=x4+5x3+10x2+10x+5f(x+1)=\dfrac{(x+1)^5-1}{x}\\=x^4+5x^3+10x^2+10x+5

これは p=5p=5 とするとアイゼンシュタインの定理より因数分解できないことが分かる。

数オリの問題に挑戦

次は1993年国際数学オリンピックトルコ大会の第一問です。アイゼンシュタインの定理を知らないとかなり難しい問題です。

例3

22 以上の自然数 nn に対して,f(x)=xn+5xn1+3f(x)=x^n+5x^{n-1}+3 が因数分解できないことを示せ。

解答

p=3p=3 としてアイゼンシュタインの定理を使う。

  • a0a_033 の倍数だが 99 の倍数でない。
  • a1=a2==an2=0a_1=a_2=\cdots =a_{n-2}=033 の倍数。
  • an1=5a_{n-1}=533 の倍数でない。

よって k=n1k=n-1 の場合のアイゼンシュタインの定理が使えて, f(x)f(x)n1n-1 次以上の既約な因数を持つことが分かる。

よって,因数分解できるなら(11 次式)×(n1n-1 次式)となる,つまり f(x)=0f(x)=0 が整数解を持つ。しかし x=1,3,1,3x=1,3,-1,-3 どれも解でないことが簡単に分かるので f(x)f(x) は因数分解できない。

注:アイゼンシュタインの定理を解答中で使うときは,念のため証明も添えたほうがよいでしょう。

アイゼンシュタインの定理の証明

いよいよ証明です!

方針

1つ1つ丁寧に係数を比較していくだけです。ほとんど機械的な計算で証明できるので入試で出題されるかもしれません。

証明

ある素数 pp に対して3つの条件を満たし,

f(x)=anxn++a1x+a0f(x)=a_nx^n+\cdots +a_1x+a_0

g(x)=bkxk++b1x+b0g(x)=b_kx^k+\cdots +b_1x+b_0

h(x)=cnkxnk++c1x+c0h(x)=c_{n-k}x^{n-k}+\cdots +c_1x+c_0

の積に因数分解できたとする。

a0=b0c0a_0=b_0c_0pp で1回のみ割り切れるので b0,c0b_0, c_0 のどちらかのみが pp の倍数。

b0b_0pp の倍数としても一般性を失わない。

次に 11 次の係数を比較すると,

a1=b0c1+b1c0a_1=b_0c_1+b_1c_0

a1,b0a_1, b_0pp の倍数なので b1b_1pp の倍数。

以下同様に,係数比較により b2,b3,bk1b_2, b_3,\cdots b_{k-1}pp の倍数であることが分かる。

最後に aka_{k}pp の倍数でないことから bkb_kpp の倍数でない,すなわち bk0b_k\neq 0 が分かる。

すなわち g(x)g(x)kk 次以上である。

一見めんどくさそうな定理ですが,3つの条件を確認するのは簡単なので理解すればどうってことない定理です。

Tag:国際数学オリンピックの過去問

Tag:因数分解の発展的な公式・応用例まとめ

Tag:素数にまつわる覚えておくべき性質まとめ