#include<iostream.h>
#include<conio.h>

double cubic(double coef1,double coef2,double coef3,double coef4,double less=-100.00)
{
double falgx;
for(double movin=less;movin<=10000.00;movin+=0.01)
{
 falgx=(coef1*movin*movin*movin)+(coef2*movin*movin)+(coef3*movin)+coef4;
if(falgx<0.0001&&falgx>-0.0001)
break;
}
return movin;
}
void main()
{
clrscr();
double tea1,tea2,tea3,tea4;
cout<<"\t\t\tWELCOME TO CUBIC EQN SOLVER\n";
cout<<"Enter coeff. of x^3 x^2 x and constant term resp.\n";
cin>>tea1>>tea2>>tea3>>tea4;
double rootalg1=cubic(tea1,tea2,tea3,tea4);
double rootalg2=cubic(tea1,tea2,tea3,tea4,rootalg1+0.01) ;
double rootalg3=cubic(tea1,tea2,tea3,tea4,rootalg2+0.01);
cout<<"\n APPROX ROOTS ARE :"<<rootalg1<<" , "<<rootalg2<<" , "<<rootalg3;
getch();
}