3次関数とガウス記号 – 1998年東大 数学 第4問

1998年東大 数学 第4問 は、後期試験にあの伝説の超難問が出題された年の問題で、3次関数にガウス記号を組み合わせるという、食い合わせの悪さが特徴の難問です。
問題文は以下の通りです。
実数 a に対して n \leqq a < n+1 をみたす整数 k を [a] であらわす。 n を整数として
f(x) = \frac{x^2(2 \cdot 3^3 \cdot n -x ) }{ 2^5 \cdot 3^3 \cdot n^2 }
とおく。 36n+1 個の整数 [f(0)] 、 [f(1)] 、 [f(2)] 、…、 [f(36n)] のうち相異なるものの個数を n を用いて表せ。
問題文中にわざわざガウス記号の説明がありますが、ガウス記号は履修範囲としてデフォではなかったのでしょうか。「ゆとり」が思いのほか早く、密かに浸透しつつあったということを、過去問は静かに語っています。
改めて問題文を読むと、問題が何を求めているのか、全く頭に入ってきません。普通は捨て問としてスルーするのが正しい戦略のように思えますが、問題文も短くて題意の把握自体はすぐ出来そうだし、他の問題で苦戦するようなら、やはり取り組む必要がありそうです。
解法
冒頭に述べたように本問の特徴は、3次関数にガウスの記号を絡ませるという、食い合わせの悪さにあります。3次関数の従属変数の整数部分を取り出す、というのを実際の値で計算するのではなく、 n の一般式とかで表すのをどうすればいいのか、見当もつきません。
①関数の増減を調べる
ところで、 f(x)=0 は、 x= 0 および、 x=2 \cdot 3^3 \cdot n の2つの解をもちます。
2 \cdot 3^3 \cdot n = 54n は 36n より大きいので、 f(x) が負の値になることはありませんが、 0 \leqq x \leqq 36n の範囲のどこかで減少に転じる可能性はあります。
そうなると面倒なので、実際どうなのか確認しておきます。
\begin{aligned} & f'(x) = \frac{2^2 \cdot 3^3 \cdot nx -3x^2 }{ 2^5 \cdot 3^3 \cdot n^2 } \\ & \text{ } = \frac{x(36 n -x) }{ 2^5 \cdot 3^2 \cdot n^2 } \end{aligned}
なので、 0 \leqq x \leqq 36n の範囲で、 f(x) は単調増加なのがわかりました(やれやれ)。
②ピボット
問題の答えを出すには、 [f(m)],(0 \leqq m \leqq 36n 、 m は非負整数)の値を n の関数として求めたいところですが、 f(x) の分母が大きくてしかも、 n^2 を含んでいるので、どうすればよいのか見当もつきません。
そこで別のアプローチを考えます。
f(x) の傾きが十分に大きくなれば、 f(m+1)-f(m) が1より大きくなります。このとき、必ず [f(m+1)] > [f(m)] となります。
つまり、 f(x) の傾きが十分に大きい範囲では、与えられた整数 k に対し、 k = [f(m)] となる m は、高々1個しかない、ということです。
これは m の数と f(m) の数が一致することを意味するので、発想を [f(m)] の値を具体的に求めることから、単に m の個数を数えればいいんじゃね、とピボット転換します。
では、そのような m の範囲はどこかと言うと、 f'(x) > 1 が成り立つ x の範囲内です。
\begin{aligned} & f'(x)-1 \\ & =\frac{x(36 n -x) }{ 2^5 \cdot 3^2 \cdot n^2 } -1 \\ & =-\frac{(x-12n)(x-24n)} { 2^5 \cdot 3^2 \cdot n^2 } \\ \end{aligned}
なので、実数 x \in (12n , 24n) に対し、 f'(x) > 1 です。したがって、 12n+1 \leqq m \leqq 24n-2 のとき、平均値の定理により、
\begin{aligned} & f(m+1) - f(m) \geqq \inf_{c \in (m,m+1) } f'(c) \\ & \text{ } > 1 \end{aligned}
が成り立ちます。ゆえに、 12n+1 \leqq m \leqq 24n-1 のとき、異なる [f(m)] の数は、 (24n-1) - (12n+1) + 1 = 12n であることがわかりました。
③ 0 \leqq m \leqq 12n または 24n \leqq m \leqq 36n のときの [f(m)] の個数
まず、 0 \leqq m \leqq 12n の範囲で考えます。実数 x \in (0 , 12n) に対し、 f'(x) < 1 です。したがって、 0 \leqq m \leqq 12n-1 に対し、
\begin{aligned} & f(m+1) - f(m) \leqq \sup_{c \in (m,m+1) } f'(c) \\ & \text{ } < 1 \end{aligned}
が成り立ちます。すなわち、 m がこの範囲の時、
[f(m+1)] = [f(m)]
か
[f(m+1)] = [f(m)] + 1
のいずれかが成り立つということです。
m がいくつの時、 [f(m)] が「繰り上がる」のかがわかれば、そういう m をカウントすることで、異なる [f(m)] の個数を求めることが出来ますが、実際にそういう m を特定するのは難しそうです。
ここで再び、ピボット転換です。 [f(m+1)] = [f(m)] か [f(m+1)] = [f(m)]+1 のどちらかということは、 0=[f(0)] \leqq k \leqq [f(12n)] = 7n となるすべての整数 k に対し、 k = [f(m)] となる m が必ず存在するということです。すなわち、0から 7n までの整数の個数をかぞえればいいんじゃね、というわけで、異なる [f(m)] の数は、 7n+1 となります。
24n \leqq m \leqq 36n のときも同様に、異なる [f(m)] の数は、 7n+1 となります。したがって、異なる [f(m)] の数の合計は、 26n+1 となります。
④補足
細かい話ですが、ここまでの議論で [f(12n)] < [f(12n+1)] であること、および [f(24n-1)] < [f(24n)] であることに触れていないので、その断りを証明の中に入れておく必要があります。まあ、 f'(x) の評価から明らかじゃね、とも思いますが、試験なので大事をとったほうが良いでしょう。
解法のポイントと今後の学習方針

3次関数の値の範囲に関する問題は、定番ともいえます。 a \leqq f(x) \leqq b を満たす x の範囲を求めたい場合、普通は境界点における x の値を求めようとしますが、本問の特徴は、それが困難なところにあります。
本問の題意が、 f(m) の具体的な値ではなく、各 f(m) の近傍における他の f(m') の分布状況を問うものなので、その分布が f(x) の傾き、すなわち導関数 f'(x) の値の大小に依存している(傾きが大きくなれば分布がスカスカになる)ことに気が付けるかどうかが、ポイントです。
そもそも微分や導関数は、そういう目的のために発案されたものなので、原点に還るという意味では、本問はなかなかの良問であるとも言えます。
導関数は普通、最大値/最小値問題で使用します。本問のように、導関数を関数値の分布度合いを測るのに使う、という発想が出にくいのはある意味当然ですが(だから本問の難易度は高い)、対策としては、平均値の定理を扱う問題を多く解くようにすることを、お薦めします。