Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
スポンサーリンク

多項式の合同式の解の個数(法が素数)

代数学

本記事の内容

本記事は、多項式の合同式(法が素数の場合)の解き方について解説する記事です。

本記事を読むに当たり、合同式を知っている必要があるため、以下の記事も合わせてご覧ください。

多項式の合同式?整数係数多項式の合同式?

まずは復習をし、その後整数係数多項式を導入します。

多項式って?(復習)

まず、多項式及び多項式関数について復習します。

実係数多項式

  1. 実係数多項式
  2. P(x)=ni=0aixi=anxn+an1xn1++a2x2+a1x+a0 (aiRnN{0})の形の式をx実係数多項式(Polynomial with real coefficients)という。
  3. 実係数多項式関数
  4. 関数f:XYが任意のxXに対してf(x)=P(x)を満たすとき、f(実係数)多項式関数という。

不要かもしれませんが、
x2+2x+1,3x717x3+πx
などが実係数多項式です。
後者は見慣れないかもしれませんが、”実係数”ですので、実係数多項式としては後者の要な場合もありえます。

整数係数(または、単に整係数)多項式は、単に係数が整数というだけです。
つまり、先の例の前者は整数係数多項式です。

整(数)係数多項式、整(数)係数多項式関数

  1. 整(数)係数多項式
  2. P(x)=ni=0aixi=anxn+an1xn1++a2x2+a1x+a0 (aiZnN{0})の形の式をx整(数)係数多項式(Polynomial with real coefficients)という。
  3. 整(数)係数多項式関数
  4. 関数f:XYが任意のxXに対してf(x)=P(x)を満たすとき、f(整(数)係数)多項式関数という。

整数係数多項式の合同式って?

f(x)を整数係数多項式、すなわち
f(x)=ni=0aixi=anxn+an1xn1++a2x2+a1x+a0
(aiZnN{0})とします。
このとき、mZに対して、合同式
f(x) (mod m)
整数係数多項式の合同式といいます。

代数学の基本定理(サラッと説明)※証明はしません

一旦、解いてみて下さい!

以下の問題を解いてみて下さい(大丈夫、簡単です)。

例1. x23x+2=0の解を求めよ。

勿論、x23x+2=(x1)(x2)=0により、x=1,2が答えですね。

例2. x22x+1=0の解を求めよ。

勿論、x22x+1=(x1)2=0により、x=1ですね。

このように、2次方程式は多くとも2個の解しか持ちません。
重解を2つ解(例えば例2.でいえば、x=1,1と捉える)と捉えれば、ちょうど2つです。

実は、複素係数n次方程式は複素数の範囲でn個より多くの解を持たないのです。
重複を許せば、複素係数n次方程式はちょうどn個の解を持ちます。

これが代数学の基本定理のイメージです(厳密にはちょっと違うのですがそれは後述)。

代数学の基本定理 ※証明はしません

代数学の基本定理とは以下です。

代数学の基本定理

複素係数のn次方程式 xn+an1xn+an2xn2++a1x+a0=0a0,a1,,an1C は必ず複素数に根を持つ。

「あれ?さっきと話が違うじゃないか?」と思うでしょう。
確かにそうです。

ただ、この代数学の基本定理から次の事実がわかります。

定理0.

複素係数のn次方程式 f(x)=xn+an1xn+an2xn2++a1x+a0=0a0,a1,,an1C は必ず f(x)=(xα1)(xα2)(xαn) (α1,,αn)と一次式の積に因数分解できる。

定理0.の証明

代数学の基本定理から、f(α1)=0となるようなα1Cが存在します。
多項式f(x)を一次式(xα1)で割って、
f(x)=f1(x)(xα1)+r
(ただし、f1(x)n1次多項式、rC)と書けます。

α1を代入して両辺を比較すると、r=0だとわかります。
すなわち、f(x)=f1(x)(xα1)となります。

今の議論をf1(x)に適用すれば、
f1(x)=f2(x)(xα1)(xα2)
(ただし、f2(x)n2次多項式、α2C)と書くことができます。

この操作を繰り返していけば、題意のような分解が得られます。

定理0.の証明終わり

さて、定理0.から、α1,,αnは勿論f(x)=0の根(答え)になりますが、実は根はこれらしか存在しません。

実際、仮にα1,,αnとは異なるβCに対して、f(β)=0になったとしましょう。
定理0.の分解式に代入すれば、
(βα1)(βα2)(βαn)=0
が成り立ちます。
ここで、0でない複素数は必ず逆数を持つから、両辺に(βα1)1(βα2)1(βαn)1を掛けると、1=0となり、矛盾です。

以上の話から、代数学の基本定理により、複素係数n次方程式は重複を含めてちょうどn個の解を持つという事実を導くことができるのです。

多項式の合同式でも似たような事実が成り立ちます。

多項式の合同式でも似たような事実が成り立ちますよ、というのが今回の内容です。
ただし、今回は法は素数の場合に限って解説します。

ちょっとその前に…(次数)

f(x)を整数係数多項式、すなわち
f(x)=ni=0aixi=anxn+an1xn1++a2x2+a1x+a0
(aiZnN{0})とします。
このとき、mZに対して、合同式
f(x) (mod m)
を解くには、各係数aνを、mを法としてaνと合同な数で置き換えてOKです。

なぜなら、次が成り立つからです。

定理1.

a,a,b,bZmZ{0}とする。このとき aa (mod m),bb (mod m) が成り立つならば、
  1. a±ba±b (mod m),
  2. abab (mod m)
が成り立つ。
 一般に、aa (mod m)bb (mod m)cc (mod m)で、またf(x,y,z,)x,y,z,に関する整数を係数とする多項式であれば、 f(a,b,c,)f(a,b,c,) (mod m) である。

定理1.の証明は【代数学の基礎シリーズ】初等整数論編 その10を御覧ください。

また、aνの中で、mで割り切れるときはaνxνの項は消してOKです。
このような消去を行った後に、an0 (mod m)であれば、上記の合同式
f(x) (mod m)
n次の合同式と呼ぶことにします。

多項式の合同式でも代数学の基本定理に似たような事実が成り立ちます。

今回は、法が素数の場合を述べます。

定理2.

pが素数であるとき、n次の合同式 f(x) (mod p)n個より多くの解を持つことはない。ただし、解の個数はpを法として互いに合同でないものを数えていう。

定理2.の証明

合同式(2)が解を持ったとして、xa (mod p)をその1つの解とします。
すなわち、f(a)0 (mod p)です。

さて、次の恒等式を考えます。
f(x)=(xa)f1(x)+f(a)
において、f1(x)anxn1を最高次数の項とする整数係数の多項式です。
故に、合同式(2)は
(xa)f1(x)0 (mod p)
と同じ解を持ちます。

pは素数だから、この合同式はxaまたはf1(x)pで割り切れるときに限って成り立ちます。
実際、(xa)f1(x)0 (mod p)により
(kZ) s.t. (xa)f1(x)=kp
となり、pxaまたはf1(x)を割り切ります。

今、xa (mod p)なわけですので、f1(x)0 (mod p)です。
故に、xa (mod p)以外の(2)の解はn1次の合同式
f1(x) (mod p)
の解でなければなりません。
故に、定理の主張がn1次の多項式に関して正しければ、n次の多項式に関しても正しいことになります。

ここで、次の事実を使います。

定理3.

一次合同式 axb (mod m)gcdなるときは、1つの解を持つ。\gcd(a,m)=d>1であるときは、bdで割り切れるときに限って解を持つ。その解の数はdである。ただし、解の数はmを法としての類の関してである。

定理3.の証明は【代数学の基礎シリーズ】初等整数論編 その11を御覧ください。

定理3.から、一次の合同式
a_1x+a_0\equiv0\ ({\rm mod}\ p),\quad \gcd(a_1,p)=1
pを法として唯一の解を持ちます。

したがって、定理2.は数学的帰納法で証明されました。

定理2.の証明終わり

実際に確かめてみる

例3.

例えば、x^2\equiv-2\ ({\rm mod}\ 11)を解いてみましょう。
x^2\equiv9\ ({\rm mod}\ 11)ですから、x\equiv3\ ({\rm mod}\ 11)は一つの会です。

故に、
(11-3)^2\equiv11^2-2\times 11\times 3+3^2\ ({\rm mod}\ 11)
9\equiv-1\ ({\rm mod}\ 11)により、を代入することで(11-3)^2\equiv-2\ ({\rm mod}\ 11)です。
したがって、8^2\equiv-2\ ({\rm mod}\ 11)からx\equiv8\ ({\rm mod}\ 11)も解です。

確かに2個ですね。

例4.

例えば、x^2\equiv1\ ({\rm mod}\ 15)を解いてみましょう。

(\exists k_1\in\mathbb{Z})\ {\rm s.t.}\ x^2-1=15k\Longleftrightarrow x^2-1=3\times1\times 5\timesk_1
と書けるため、
x^2\equiv1\ ({\rm mod}\ 3)\quad \land\quad x^2\equiv1\ ({\rm mod}\ 5)
です。

x\equiv 1\ ({\rm mod}\ 3)については、(x+1)(x-1)\equiv1\ ({\rm mod}\ 3)であり、かつ3は素数だから、
x+1\equiv0\ ({\rm mod}\ 3)\quad \lor\quad x-1\equiv0\ ({\rm mod}\ 3)
です。
したがって、x\equiv\pm1\ ({\rm mod}\ 3)です。

同様にして、x\equiv\pm1\ ({\rm mod}\ 5)です。

故に答えは
\begin{cases} x\equiv\pm1\ ({\rm mod}\ 3)\\ x\equiv\pm1\ ({\rm mod}\ 5) \end{cases}
の解です。

ここで、中国式剰余定理を使います。

定理4.(連立合同式の解の存在条件、中国式剰余定理)

m_1,m_2,\cdots,m_k\in\mathbb{Z}が2つずつ互いに素、すなわち、 \left( \forall i,j\in\left\{1,2,\cdots,k \right\}:i\neq j\right)\ \gcd(m_i,m_j)=1 (どの2つのm_im_jも自身以外と互いに素)であり、a_1,a_2,\cdots,a_k\in\mathbb{Z}とする。このとき、 \begin{cases} x\equiv a_1\ ({\rm mod}\ m_1)\\ x\equiv a_2\ ({\rm mod}\ m_2)\\ \tag{1} \qquad \quad\vdots\\ x\equiv a_k\ ({\rm mod}\ m_k)\\ \end{cases} を満たすxの類は\displaystyle M=\prod_{l=1}^km_l=m_1m_2\cdots m_kを法として、唯一存在する。

定理4.の証明は【代数学の基礎シリーズ】初等整数論編 その12を御覧ください。

中国式剰余定理から、
\begin{cases} x\equiv a\ ({\rm mod}\ 3)\\ x\equiv b\ ({\rm mod}\ 5) \end{cases}
の解はx\equiv-5a+6b\ ({\rm mod}\ 15)と表され、今回は(a,b)=(-1,-1),(-1,1),(1,-1),(1,1)ですからx\equiv-1,11,-11,1\ ({\rm mod}\ 15)
すなわちx\equiv1,4,11,14\ ({\rm mod}\ 15)が解となります。

確かに、法が素数でない場合は解は2個ではありませんでしたね。

皆様のコメントを下さい!

さて、新生活が始まりましたが、どうですか?
筆者は新環境になれるので必死です….

新年度でいい出会いはありましたか?
是非コメントで教えて下さい!

今回は、多項式の合同式に対し解の個数について解説しました。
ただし、法が素数の場合に限ります。

この場合、代数学の基本定理から導かれるような事実と似ていて、n次の合同式はその素数を法としてn個より多くの解を持たないということを証明しました。

次回は、法が素数でないような場合について解説します。

乞うご期待!

乞うご期待!
質問、コメントなどお待ちしております!
どんな些細なことでも構いませんし、「定理〇〇の△△が分からない!」などいただければお答えします!
お問い合わせの内容にもよりますが、ご質問はおおよそ1週間以内にお答えします。
(難しかったらもう少しかかるかもしれませんが…)

初等整数論について、以下の書籍をオススメします!

コメントをする

タイトルとURLをコピーしました