real y(2),work(15),mass integer iwork(5) common g,arhim,alpha external f data pi/3.1415926536/ open (10,file='fall.in') open (20, file='fall.out') neqn=2 read(10,*)dt,nt,relerr,abserr,y,r,g,rov,rok,etta mass=4.*pi*r**3*rok/3. arhim=rov*g/rok alpha=6.*pi*etta*r/mass print *,relerr,abserr,dt,nt,y,r,g,roa,rok,etta print *,mass,arhim,alpha talg=0 tlopp=0 iflag=1 call rkf45(f,neqn,y,talg,tlopp,relerr,abserr,iflag,work,iwork) do i =1,nt tlopp=talg+dt iflag=2 call rkf45(f,neqn,y,talg,tlopp,relerr,abserr,iflag,work,iwork) talg=tlopp write(20,100) tlopp,y(2) 100 format(6f15.5) enddo stop end subroutine f(t,y,dy) real y(2),dy(2) common g,arhim,alpha dy(1)=y(2) dy(2)=g-arhim-alpha*y(2) return end