randRange(-2,-1) 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*a 2*b p*xmin*xmin*xmin+q*xmin*xmin+r*xmin+s p*xmax*xmax*xmax+q*xmax*xmax+r*xmax+s 1000*floor((ymin-20)/1000) 1000*ceil((ymax+20)/1000) [ -10, 10 ] [ flooredymin, ceiledymax ]
This is an interval of increase problem.
Find the largest (bounded) open interval of increase for
      f(x)=alltermsf.
If there are none, or if every maximal interval of increase is unbounded,
        then enter 0 and 0 into the Answer boxes.

xmin < x < xmax

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 negative when x is a large positive number.
Work along the number line from right to left.

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

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

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

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

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] ); });