randRange(1,2) randRange(1,4) randRange(1,4) randRange(1,100) 3*p*(a-b) -12*a*b*p 2*(a-b) -4*a*b q===0?"":(q>0?"+"+q+"x^2":"-"+(-q)+"x^2") p===1?"x^3":p+"x^3" cutermf+qutermf+"-"+(-r)+"x+"+s q===0?"":(q>0?"+"+(2*q)+"x":"-"+(-2*q)+"x") (3*p)+"x^2"+qutermfpr+"-"+(-r) q===0?"":(q>0?"+"+(twoqover3p)+"x":"-"+(-twoqover3p)+"x") "x^2"+qutermfprover3p+"-"+(-rover3p) 3*p+"("+alltermsfprover3p+")" 2*b -2*a min(p*xmin*xmin*xmin+q*xmin*xmin+r*xmin+s,p*(-10)*(-10)*(-10)+q*(-10)*(-10)+r*(-10)+s) max(p*xmax*xmax*xmax+q*xmax*xmax+r*xmax+s,p*10*10*10+q*10*10+r*10+s) 1000*floor((ymin-20)/1000) 1000*ceil((ymax+20)/1000) [ -10, 10 ] [ flooredymin, ceiledymax ]
This is an interval of decrease problem.
Find the largest (bounded) open interval of decrease for
      f(x)=alltermsf.
If there are none, or if every maximal interval of decrease is unbounded,
        then enter 0 and 0 into the Answer boxes.

xmax < x < xmin

Differentiating, we obtain:
       f'(x)=alltermsfpr=factoredfpr
Factor f'(x), if possible.

The factorization is given by f'(x)=3*p(x+2*a)(x-2*b).

Using this factorization,
      figure out where the derivative f'(x) is positive and negative.
Notice that f'(x) is positive when x is a large positive number.
Work along the number line from right to left.

The derivative f'(x) is        positive on xmin < x,
                                             negative on xmax < x < xmin and
                                             positive on x < xmax.

Then the function f(x) is    increasing on xmin < x,
                                             decreasing on xmax < x < xmin and
                                             increasing on x < xmax.

Now enter xmax and xmin into the Answer boxes, to indicate that xmax < x < xmin is the largest (bounded) open interval of decrease.

NOTE: The next two hints show: the graph of f, followed by the graph of f'.
Note that the graph of f runs downhill between x = xmax and x = xmin.
Note that the graph of f' is below the x-axis between x = xmax and x = xmin.

initAutoscaledGraph( [ xrange , yrange ], {} ); style({ stroke: "#6495ED", strokeWidth: 3 }, function() { plot( function( x ) { return p*x*x*x+q*x*x+r*x+s; }, [-10,10] ); });

initAutoscaledGraph( [ [ -10, 10] , [ -500, 500] ], {} ); style({ stroke: "#6495ED", strokeWidth: 3 }, function() { plot( function( x ) { return 3*p*x*x+2*q*x+r; }, [-10,10] ); });