Quintic Pi Polynomial

Calculus Level 2

3 x 5 = 1 x 4 + 4 x 3 + 1 x 2 + 5 x + 9 \large \color{#D61F06}{3}x^{5} \color{#3D99F6}{=} \color{#D61F06}{1}x^{4} + \color{#D61F06}{4}x^{3} + \color{#D61F06}{1}x^{2} + \color{#D61F06}{5}x + \color{#D61F06}{9}

The above polynomial has exactly one real root α \alpha . Find 1000 × α \lfloor 1000 \times \alpha \rfloor .

Notation: x \lfloor x \rfloor denotes the greatest integer smaller than or equal to x x . This is known as the greatest integer function .


The answer is 1780.

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.

2 solutions

Pranshu Gaba
Feb 22, 2016

Let f ( x ) = 3 x 5 1 x 4 4 x 3 1 x 2 5 x 9 f(x) = \color{#D61F06}{3}x^{5} - \color{#D61F06}{1}x^{4} - \color{#D61F06}{4}x^{3} - \color{#D61F06}{1}x^{2} - \color{#D61F06}{5}x - \color{#D61F06}{9}

We need to find the only real root of f ( x ) = 0 f(x) = 0 .

Observe that since f ( x ) f(x) is a odd degree polynomial and has only one real root α \alpha , we can say that

  • f ( x ) < 0 f(x) < 0 if x < α x < \alpha ,

  • f ( x ) = 0 f(x) = 0 if x = α x = \alpha and

  • f ( x ) > 0 f(x) > 0 if x > α x > \alpha .

Note that f ( 0 ) = 9 < 0 f(0) = -9 < 0 . Hence the root is greater than 0.

  • f ( 1 ) = 17 < 0 f(1) = -17 < 0 , therefore α > 1 \alpha > 1

  • f ( 2 ) = 25 > 0 f(2) = 25 > 0 , therefore α < 2 \alpha< 2

We can conclude that 1 < α < 2 1 < \alpha < 2 . Thus, 1 and 2 are lower and upper bounds of α \alpha . We can use the bisection method to make these bounds tighter and find the approximate value of the root to great precision.

The initial lower and upper bounds are 1 and 2 respectively.

The algorithm evaluates the function f ( x ) f(x) at the arithmetic mean of the bounds, i.e. (Lower Bound + Upper Bound)/2 .

  • If the f ( L + U 2 ) < 0 f(\frac{L + U } {2}) < 0 , then α > L + U 2 \alpha > \frac{L + U } {2} and L + U 2 \frac{L + U } {2} is a better lower bound than L L , therefore the lower bound is updated to L + U 2 \frac{L + U } {2} .

  • If the f ( L + U 2 ) > 0 f(\frac{L + U } {2}) > 0 , then α < L + U 2 \alpha < \frac{L + U } {2} and L + U 2 \frac{L + U } {2} is a better upper bound than U U , therefore the upper bound is updated to L + U 2 \frac{L + U } {2} .

By repeatedly applying this algorithm, the upper and lower bounds get pretty close to each other, and we can find the value of α \alpha to as much precision as required.

The following python code is an implementation of the bisection algorithm. The while loop repeats 20 times, and the final bounds are 1.78072547913 and 1.7807264328. Thus, α 1.7807 \alpha \approx 1.7807 and 1000 × α = 1780 \lfloor 1000 \times \alpha \rfloor = 1780 _\square

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
def f(x):
    return 3*x**5 - x** 4 - 4* x**3 - x**2 - 5*x - 9

lower_bound = 1.0

upper_bound = 2.0

while i < 20:
    if f((lower_bound + upper_bound)/2.0) > 0:
        upper_bound = (lower_bound + upper_bound)/2.0
    elif f((lower_bound + upper_bound)/2.0) < 0:
        lower_bound = (lower_bound + upper_bound)/2.0  

    i += 1
    print lower_bound, upper_bound


We can carry out the same calculation by hand too. It is tedious, but has less error than using computers since floats are not exact

We will now test f ( 1 + 2 2 ) f(\frac{1 + 2 } {2} )

  • f ( 1.5 ) 14.53 f(1.5) \approx -14.53 , therefore α > 1.5 \alpha > 1.5

We will now test f ( 1.5 + 2 2 ) f(\frac{1.5 + 2 } {2} )

  • f ( 1.75 ) 2.3896 f(1.75) \approx -2.3896 , therefore α > 1.75 \alpha > 1.75

We will now test f ( 1.75 + 2 2 ) f(\frac{1.75 + 2 } {2} )

  • f ( 1.875 ) 8.90542 f(1.875) \approx 8.90542 , therefore α < 1.875 \alpha < 1.875

We will now test f ( 1.75 + 1.875 2 ) f(\frac{1.75 + 1.875 } {2} )

  • f ( 1.8125 ) 2.7256 f(1.8125) \approx 2.7256 , therefore α < 1.8125 \alpha < 1.8125

We will now test f ( 1.75 + 1.8125 2 ) f(\frac{1.75 + 1.8125 } {2} )

  • f ( 1.78125 ) 0.04281 f(1.78125) \approx 0.04281 , therefore α < 1.78125 \alpha < 1.78125

We will now test f ( 1.75 + 1.78125 2 ) f(\frac{1.75 + 1.78125 } {2} )

  • f ( 1.765625 ) 1.20375 f(1.765625) \approx -1.20375 , therefore α > 1.765625 \alpha > 1.765625

We will now test f ( 1.765625 + 1.78125 2 ) f(\frac{1.765625 + 1.78125 } {2} )

  • f ( 1.7734375 ) 0.588817 f(1.7734375) \approx -0.588817 , therefore α > 1.7734375 \alpha > 1.7734375

We will now test f ( 1.7734375 + 1.78125 2 ) f(\frac{1.7734375 + 1.78125 } {2} )

  • f ( 1.77734375 ) 0.2746247 f(1.77734375) \approx -0.2746247 , therefore α > 1.77734375 \alpha > 1.77734375

We will now test f ( 1.77734375 + 1.78125 2 ) f(\frac{1.77734375 + 1.78125 } {2} )

  • f ( 1.779296875 ) 0.116396 f(1.779296875) \approx -0.116396 , therefore α > 1.779296875 \alpha > 1.779296875

We will now test f ( 1.779296875 + 1.78125 2 ) f(\frac{1.779296875 + 1.78125 } {2} )

  • f ( 1.7802599375 ) 0.0380174 f(1.7802599375) \approx -0.0380174 , therefore α > 1.7802599375 \alpha > 1.7802599375

We will now test f ( 1.779296875 + 1.78125 2 ) f(\frac{1.779296875 + 1.78125 } {2} )

  • f ( 1.7802599375 ) 0.0380174 f(1.7802599375) \approx -0.0380174 , therefore α > 1.7802599375 \alpha > 1.7802599375

We will now test f ( 1.7802599375 + 1.78125 2 ) f(\frac{1.7802599375 + 1.78125 } {2} )

  • f ( 1.7807546875 ) 0.00236288 f(1.7807546875) \approx 0.00236288 , therefore α < 1.7807548775 \alpha < 1.7807548775

We see that 1.7802599375 < α < 1.7807548775 1.7802599375 < \alpha < 1.7807548775 , therefore 1780.2599375 < 1000 α < 1780.7548775 1780.2599375 < 1000 \alpha < 1780.7548775 .

Thus, the greatest integer less than equal to 1000 × α 1000 \times \alpha is 1780 \boxed{1780} . _\square

Some programs when checking the midpoint of an interval will multiply the middle with one boundary, and if the multiplication is a negative, we know that those 2 numbers have different signs and can be used for the next boundaries. This helps if you not have to worry about a zero having positive slope or negative slope.

Jerry McKenzie - 4 years, 1 month ago

Wow, I tend to use Newton Approximation but this is more intuitive!

Kelvin Hong - 3 years, 10 months ago

Or, you could do your sign change to find where the root lies, then separate an x (I used the one on the LHS and use fixed point iteration). I know fixed point iteration doesn't always converge, but you can just try different iterative formula until it works. It's still less time consuming than your method

Ali Al-Ali - 2 years, 11 months ago

Log in to reply

Yes, that works too!

Pranshu Gaba - 2 years, 11 months ago
Carsten Meyer
Feb 23, 2019

First get a general idea about where to find the root x 0 x_0 . Define

p ( x ) : = 3 x 5 + x 4 + 4 x 3 + x 2 + 5 x + 9 , p ( 1 ) = 17 > 25 = p ( 2 ) x 0 ( 1 ; 2 ) \begin{aligned} p(x)&:=-3x^5+x^4+4x^3+x^2+5x+9,&p(1)&=17>-25 = p(2)&\Rightarrow&&x_0&\in(1;\:2) \end{aligned}

I used fix point iteration - guessing there was a reason why there was a left hand side in the assignment. Taking φ ( x ) : = 3 1 5 ( x 4 + 4 x 3 + x 2 + 5 x + 9 ) 1 5 , x k + 1 : = φ ( x k ) , x 1 : = 1 \begin{aligned} \varphi(x)&:=3^{-\frac{1}{5}}\left(x^4+4x^3+x^2+5x+9\right)^{\frac{1}{5}},&x_{k+1}&:=\varphi(x_k),&&x_1:=1 \end{aligned}

we need 10 iteration for the fourth digit to remain constant, leading to

k 1000 x k 1 1461.4425516219254 2 1639.0698520255442 3 1716.575631186962 4 1751.4572849684504 5 1767.3306998553346 6 1774.5871029154345 7 1777.910910421906 8 1779.434744225369 9 1780.1336444675542 10 1780 . 4542515232284 Check: p ( 1.780 ) > 0.05 > 0.02 > p ( 1.781 ) x 0 ( 1.780 ; 1.781 ) \begin{aligned} \begin{array}{r | l} k &1000x_k\\\hline 1&1461.4425516219254\\ 2&1639.0698520255442\\ 3& 1716.575631186962\\ 4& 1751.4572849684504\\ 5& 1767.3306998553346\\ 6& 1774.5871029154345\\ 7& 1777.910910421906\\ 8& 1779.434744225369\\ 9&1780.1336444675542\\ 10&\boxed{1780}.4542515232284\\ \end{array} && \text{Check:}\quad p(1.780) &> 0.05 > -0.02 > p(1.781) & \Rightarrow && x_0 &\in (1.780;\:1.781) \end{aligned}

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
/* maxima code */
numer : true;
x0 : 1;

/* iteration function */
p(x) := x^4 + 4*x^3 + x^2 + 5*x + 9 - 3*x^5;
f(x) := ( (x^4 + 4*x^3 + x^2 + 5*x + 9) / 3)^(1/5);

/* fix point iteration */
for i : 1 thru 20 do(
    x0 : f(x0),
    printf(true, "k: ~d~txk: ~f~%", i, x0)
);

Explanation is up to mark

GOLAM SAROAR - 4 months, 1 week ago

Mark it to 5. then Mark it back down again to 0.

Am Kemplin - 1 month, 4 weeks ago

100000000000000000000000000 is not equaled to 0.

Am Kemplin - 1 month, 4 weeks ago

2×2=4+4=7+7=14+14=18 soooooooooooooooo. it muust be 5π+34π

Am Kemplin - 1 month, 4 weeks ago

p (x) := 3.

Am Kemplin - 1 month, 4 weeks ago

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...