PROGRAM ex5_9

 IMPLICIT NONE
 REAL :: a, b, X1=0, X2, d, h, F1, F2, Xmax
  READ *, a, b
 

X2 = min(a, b)/2

DO WHILE ( ABS(X2-X1) > d)
  h = (X2 - X1)/3
  F1 = (a - 2*(X1+h))* (b - 2*(X1+h))*(X1+h)
  F2 = (a-2*(X2+h))*(b-2*(X2+h))*(X2+h)
 IF ( F1 < F2 ) THEN
  X1=X1 + h 
 ELSE 
  X2=X2 - h
END IF
Xmax = (X1 + X2)/2
PRINT *, " Xmax, (a-2*(Xmax+h))*(b-2*(Xmax+h))*(Xmax+h)   "
END DO

END PROGRAM ex5_9
 