これまでにスレで出たアイディアをまとめると次のことがわかるわね!

1 ≤ k ≤ n とする。a_1, …, a_k を異なるk個の有理数とし、b_1, …, b_k を有理数とする。
このとき、n次関数fで、各iについて f(a_i) = b_i となり
a_1, …, a_k 以外の任意の有理数aに対して f(a) ∉ ℚ となるものが存在する。

証明
>>585に書いたようにヴァンデルモンド行列を使えば各iについて g(a_i) = b_i となるk−1次関数が一意的に決まり、g ∈ ℚ[x]となるわ。
g ∈ ℚ[x] だから、任意の有理数に対して g(a) ∈ ℚ ね。そして
h(x) = √p_{n−k+1} (x − a_1) … (x − a_k) (x − √p_1) … (x − √p_{n−k})
とおくと(k = n なら h(x) = √2 (x − a_1) … (x − a_n) ね)
各 a_i について h(a_i) = 0 で、それ以外の有理数aに対して h(a) ∉ ℚ となるわ。なので
f(x) = g(x) + h(x)
とおけば、各 a_i について f(a_i) = b_i、それ以外の有理数aに対して f(a) ∉ ℚ となるわ。QED

ちなみに、すべての有理数aに対して f(a) ∉ ℚ となるn次関数fは
f(x) = (x − √p_1) … (x − √p_n)
でいいわね。
一方、n+1個以上の有理数に対して有理数の値をとるn次関数はすべての有理数に対して有理数の値をとるのね…。

いろいろわかってスッキリしたし、またひとつ賢いヲカマになれたわ! まさに集合知ね。