A Different Type of Polynomial Interpolation

Algebra Level 4

I have written down a polynomial function f ( x ) f(x) . The only thing you know about f ( x ) f(x) is that it is of finite degree and has non-negative integer coefficients.

If you give me an integer m m , I will tell you f ( m ) f(m) . What is the fewest number of integers you must give me in order to guarantee that you can determine f ( x ) f(x) exactly?


This problem was more or less taken exactly from the facebook group "actually good math problems". The solution I'll post was first given by Malwande Nkonyane.


The answer is 2.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

1 solution

Brandon Monsen
Feb 8, 2019

Write f ( x ) f(x) in the form

f ( x ) = i = 0 n a i x i f(x) = \sum_{i=0}^{n} a_{i}x^{i}

First, ask for f ( 1 ) f(1) . Say that f ( 1 ) = k f(1) = k . It follows that the sum of these coefficients a i a_{i} must be equal to k k , and since they are all non-negative, no one of these coefficients will exceed k k . Hence, a i k a_{i} \leq k for all i = 0 , 1 , , n i = 0, 1, \ldots, n

Now, let z z be the smallest positive integer such that 1 0 z > k 10^{z}>k , and ask for f ( 1 0 z ) f(10^{z}) Then the coefficients of f ( x ) f(x) are exactly what you get by dividing f ( 1 0 z ) f(10^{z}) up into strings of length z z starting from the right. This is enough then to determine f ( x ) f(x) exactly.


As an explicit example, consider f ( x ) = 17 x 6 + 3 x 4 + 47 x 3 + 11 x 2 + x + 9 f(x) = 17x^{6}+3x^{4}+47x^{3}+11x^{2}+x+9 . We have that f ( 1 ) = 88 f(1) = 88 . We then know that none of the coefficients exceed 100 100 , and so each coefficient contains at most two digits. Then, we ask for f ( 100 ) = 17000347110109 f(100) = 17000347110109 . Splitting this up into blocks of two from the right gets us the following:

09 , 01 , 11 , 47 , 03 , 00 , 17 09, 01, 11, 47, 03, 00, 17

And so the coefficients of f ( x ) f(x) are then

a 0 = 9 , a 1 = 1 , a 2 = 11 , a 3 = 47 , a 4 = 3 , a 5 = 0 , a 6 = 17 a_{0} = 9, a_{1} = 1, a_{2} = 11, a_{3} = 47, a_{4} = 3, a_{5} = 0, a_{6} = 17

And we then reconstruct f ( x ) = 17 x 6 + 3 x 4 + 47 x 3 + 11 x 2 + x + 9 f(x) = 17x^{6}+3x^{4}+47x^{3}+11x^{2}+x+9


For a more in-depth explanation as to why this works, it comes down to when we said that f ( x ) f(x) contained non-negative integer coefficients. This is what allowed us to say that if f ( 1 ) = k f(1) = k , then a i k a_{i} \leq k for each a i a_{i} .

Going through the rest of the process a bit more carefully, note that if z z is the least positive integer such that 1 0 z > k 10^{z} > k , then k k contains z z digits in its decimal representation. Since a i < k a_{i} < k , it follows that each a i a_{i} has at most z z digits in their respective decimal representations.

The other important thing is that when we asked for f ( 1 0 z ) f(10^{z}) , we got that

f ( 1 0 z ) = i = 0 n a i 1 0 z i = a 0 + i = 1 n a i 1 0 z i = a 0 + 1 0 z [ i = 1 n a i 1 0 z ( i 1 ) ] f(10^{z}) = \sum_{i=0}^{n} a_{i}10^{zi} = a_{0} + \sum_{i=1}^{n} a_{i}10^{zi} = a_{0} + 10^{z}\left[ \sum_{i=1}^{n} a_{i}10^{z(i-1)}\right]

Now, the sum in the rightmost equality will evaluate to an integer, and so after multiplying by 1 0 z 10^{z} , we get that there are at least z z trailing zeroes at the end of the sum. Now, a 0 1 0 z a_{0} \leq 10^{z} , and thus the last z z digits of f ( 1 0 z ) f(10^{z}) must be exactly a 0 a_{0} . We then continue this process to get the remaining coefficients.

Really great solution!! By the way, here is a similar problem that uses another interesting way, also with 2 guesses.

Henry U - 2 years, 4 months ago

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...