/* This program solves the differential equation y' = 1+y with y(0) = 0 using Euler's method.
Juan G. Restrepo
*/

#include <stdio.h>
#include <math.h>
#include <stdlib.h>  //load some libraries


int main()          //main program
{

//*************** FILES TO WRITE *****************
FILE * file1;
file1 = fopen("file1.txt","w");
//_______________________________________


//*************** DEFINE VARIABLES ******
int i;       //integer counter
double y,t;    //double-precision function, time
double dt = 0.001; //time step
double initialtime = 0.0; //final time
double finaltime = 1.0; //final time
int nsteps = finaltime/dt; //number of steps
//_______________________________________

y = 0.0;
t = initialtime;                  //initial conditions

for(i = 0; i < nsteps; i++)      //loop
	{
	y = y + dt*(1.0 + y);   //euler steps
	t = t + dt;
	fprintf(file1,"\n %f %f", t, y); //print to file for plotting
    }							//end loop


printf("t = %f y = %.12f\n",t,y);   //print final value. ".12f" gives you 12 decimal places

fclose(file1); //close file

return(0);
}


