4.整数値多項式

xの多項式f(x)でxにどのような整数を代入してf(x)の値が整数である多項式を整数値多項式といいます.
もちろん係数がすべて整数なら整数値多項式ですが,それ以外にもあります.
それは,組み合わせで用いる
=n(n−1)・・・(n−r+1)/r!
でnをxと置き換えた
f(x)=x(x−1)・・・(x−r+1)/r!・・・@
は係数は整数でありませんが,整数値多項式です.
整数値多項式は@の形の多項式だけで表すことが出来ます.
その証明は後にまわすとして.問題に入りましょう.
今回の問題は東京医科歯科大の問題です.
問題文の内容を読み取るのに少し苦労しますが,同値変形をすることにより比較的簡単に解決します.

問題
正の実数a,b,cを係数とする2次式f(x)=ax+bx+cに関して,次の条件Cを考える.
条件C:3で割り切れないすべての整数xについてf(x)が整数となる.
このとき,以下の問いに答えよ.
(1)f(x)が条件Cを満たすとき,
g(x)=f(x+3)−f(x)
は係数が整数の1次式である.
(2)条件Cを満たすf(x)のうち,f(1)=1となるものを求めよ.
(3)以下の条件C’が条件Cと同値となるような自然数の組
{m,m,m
のうち,m+m+mが最小となるものを求めよ.
条件C’:mb,ma+mb,a+b+cがいずれも整数となる.
(4)nを自然数とする.条件Cを満たすf(x)のうち,f(1)=nとなるものの個数をnを用いて表せ.
                                     
(平成21年東京医科歯科大学)
 
<解答>
東京医科歯科大の問題は,小問に分かれており問題の全体像をきちんとつかむことが大切です.
この問題の全体像を眺めてみましょう.
(1)g(x)の次数は1次式になり,g(1),g(2)が整数よりg(x)の係数は整数となる..
(2)は具体的に求めるだけ.f(x)=ax+bx+cとおけば,
f(1)=a+b+c=1
の条件でa,b,cを求める問題.
a,b,cが正の数がとてもきいてきそうです.
(3)は条件Cを同値変形で扱いやすいものに変えてそれを利用して(4)を求める.
このようなことを考えることが大切です.

それでは解答に入ります.
(1)
g(x)が1次式になることは明らか.
g(x)=px+qとおく.
g(1)=f(4)−f(1),
g(2)=f(5)−f(2)
よりg(1),g(2)共に整数
g(1)=p+q=m
g(2)=2p+Q=n
とおく.m,nが整数よりp,qも整数となり,g(x)は 整数係数の1次式となる.
ちなみに,この証明より,1次式の場合は,
整数値多項式⇔係数が整数の多項式
が成り立ちます.

(2)
f(x)=ax+bx+c
f(1)=1でかつ条件Cを満たすものは
g(x)=f(x+3)−f(x)=6ax+(9a+3b)
より,
f(1)=a+b+c=1,
f(−1)=a−b+cが整数,
6aが整数,
9a+3bが整数
となります.
上の4条件を同値変形すると
a+b+c=1,2bが整数,6aが整数,3a+3bが整数・・・@
となります.
条件Cより@はだいぶ扱いやすくなりました.
bから求めていきましょう.
0<b<1および2bが整数よりb=1/2
0<a<1/2かつ6bが整数よりa=1/6または1/3
一方3a+3bが整数よりa=1/6
さらに,
a+b+c=1よりc=1/3


(3)
(2)の同値変形と同じことをします.
条件Cは
f(1)=a+b+c,
f(−1)=a−b+c,
6a,3a+3bが整数
となります.
同値変形をします.
⇔a+b+c,2b,6a,3a+bが整数
ここで,6a=2(3a+b)−2bより
⇔a+b+c,2b,3a+bが整数
したがって,
=2,m=3,m=1
が解の1つの候補となります.
これが
+m+m
を最小にすることを示す必要があります.
それは(2)の結果を利用しましょう.
a=1/6,b=1/2,c=1/3
が条件を満たします.したがって,
,m,m
/2,m/6+m/2=(m+3m)/6が整数
をみたします.
=2,m=3,m=1 がm+m+mを最小にするものであることが分かります.

(4)
条件C’を利用します.
すなわち,条件Cを満たすf(x)のうち,f(1)=nを満たすものの個数は
f(1)=a+b+c=n,2b,3a+bが整数,a>0,b>0,c>0
をみたす(a,b,c)の個数です.
a,b,cは整数でないので,
2b=p,3a+b=q (p,qは整数)
とおき,(p,q)の個数を求めましょう.
まず,p,qの範囲を調べる必要があります.
b=p/2,a=(2q−p)/6,c=n−(a+b)=n−(p+q)/3
より,
2q−p>0,n−(p+q)/3>0,
を満たす格子点(p,q)の個数を求めることになります.
後は右図の格子点を求めるだけです.
1+3+・・・
+(2n−1)+(2n−2)+・・・+2+1
=n
+(2n−2)(2n−1)/2
=3n−3n+1

<解説>
整数値多項式の基本となるのは
定理
k個の連続する整数の積はk!の倍数である
です.
n(n+1)・・・(n+k−1)
n+k−1
n+k−1・k!
より明らかです.直接証明することもできますが (ガウス記号を含む方程式・不等式) ここでは数学的帰納法で証明します.
<証明>
k個の連続する整数の積はk!の倍数であることを仮定し,k+1個の場合を証明する.
任意のnで
f(n)=n(n+1)(n+2)・・・(n+k)
を考える.
f(n+1)−f(n)
=(n+1)(n+2)・・・(n+k+1)−n(n+1)(n+2)・・・(n+k)
=(n+1)(n+2)・・・(n+k)(k+1)
仮定より(n+1)・・・(n+k)はk!の倍数である.
したがって,f(n+1)−f(n)は(k+1)!の倍数.
これは任意のnでなりたつから
f(n)−f(n−1) 
f(n−1)−f(n−2)
・・・・・・
f(2)−f(1)
がそれぞれ(k+1)!の倍数より,加えることよりf(n)−f(1)も(k+1)!の倍数.
ここで,f(1)=(k+1)!であるから f(n)は(k+1)!の倍数である.
以上はn>0で考えているが
f(−n)のとき
f(−n)=(−n)(−n+1)(−n+2)・・・(−n+k)
=(−1)k+1n(n−1)・・・(n−k)
よりnが負の数でも成り立つ.


ここで,整数値多項式についてまとめておこう.
性質1
f(x)をn次多項式とする.連続するn+1個の整数kに対してf(k)が整数のとき,f(x)は整数値多項式である.
証明
数学的帰納法で証明する.
n=1のとき,問題の解答のなかで,示したように,連続する2つの整数kでf(k)が整数のとき,係数は整数となるから,整数値 多項式である.
n≦kのとき成り立つと仮定する.
f(x)がk+1次の多項式で,連続するk+2個の整数xに対してf(x)が整数のとき.
g(x)=f(x+1)−f(x)
とおく.g(x)はk次式で,連続するk+1個の整数xに対してg(x)が整数であるから,帰納法の仮定より, 任意の整数xに対してg(x)は整数.
x=m,m+1,・・・,m+k+1に対してf(x)の値が整数のとき
x≧m+k+2なら,
   f(x+1)=f(x)+g(x)
を利用し,x≦m−1なら
   f(x)=f(x+1)−g(x)
を利用すればすべての整数xでf(x)が整数である.

性質1より次が成り立つ.
性質2
f(x)をn次式とする.
f(0),f(1),・・・,f(n)が整数のとき,f(x)は整数値多項式である.

性質3
n次の多項式x(x−1)・・・(x−n+1)/n!をとおく.
このとき,n次の整数値多項式f(x)は
f(x)=a+an−1n−1 +・・・+a+a
(a,an−1,・・・,aは整数)
とあらわせる.
証明
数学的帰納法で証明する.
n=1のとき成り立つことはすでに証明してある.
n=kのとき成り立つこと仮定し,n=k+1のとき成り立つことを証明する.
f(x)がk+1次の整数値多項式とする.
f(x)をk+1で割ったときの商をak+1,余りをg(x)とおく.
f(x)=ak+1x(x−1)(x−2)・・・(x−k)/(k+1)!+g(x)
f(x)が整数値多項式より,g(0),・・・,g(k)が整数.したがって,g(x)は整数値多項式.
帰納法の仮定より,
g(x)=a+ak−1k−1 +・・・+a+a
(a,ak−1,・・・,aは整数)
さらにf(k+1)が整数よりak+1+g(k+1)が整数.
したがって,ak+1は整数を得る.したがって,性質3が成り立つことが証明された.

整数値多項式の知識があれば(なくとも),問題の(4)は次のようになります.
次の方法の方が自然で,出題の方法に若干の違和感を感じます.しかし,問題としてすばらしい問題です.
3次の整数値多項式の1つとして
f(x)=ax(x−1)(x−2)/3!(aは整数)
をとる.
ここで,xが3の倍数でないとき,(x−1),(x−2)のいずれかは3の倍数で, さらに(x−1)(x−2)は連続しているので2の倍数.
2と3は互いに素であるから,新しく
f(x)=a(x−1)(x−2)/3!+bx+c(a,b,cは整数)
とおけば,f(x)は3で割り切れないすべての整数xについてf(x)が整数である関数である.
逆に2次式f(x)が3で割り切れないすべての整数xについてf(x)が整数であるとき,
f(x)=a(x−1)(x−2)+bx+c
とおく.f(1),f(2)が整数よりb,cは整数.さらに,
f(4)=a・3・2+4b+c
が整数より
6a=(整数)
したがって,3で割り切れないすべての整数xについてf(x)が整数である2次式は
f(x)=a(x−1)(x−2)/6+bx+c(a,b,cは整数)
である.
f(x)=ax/6+(b−a/2)x+a/3+c
したがって,
a/6>0,b−a/2>0,a/3+c>0,f(1)=b+c=n
を満たす整数の組(a,b,c)の個数を求めればよい.
c=n−bよりcを消去し,
a>0,b>a/2,a/3+n>b
より
a>0,a/2<b≦a/3+n
右図の緑色の部分に含まれる格子点の個数を求めることにより,
1+3+5+・・・+{2(3n−1)−1}
−{3+6+・・・+2(2n−1)
=(3n−1)−3・(2n−1)・2n/2
=3n−3n+1


目次