for (i=0;i<n;i++)
ytemp[i]=y[i]+a31*k1[i]+a32*k2[i];
derivs.derivs(x+c3*h,ytemp,dydxnew);
for (i=0;i<n;i++)
ytemp[i]=dydxnew[i]+h*d3*dfdx[i]+(c31*k1[i]+c32*k2[i])/h;
alu.solve(ytemp,k3);
for (i=0;i<n;i++)
ytemp[i]=y[i]+a41*k1[i]+a42*k2[i]+a43*k3[i];
derivs.derivs(x+c4*h,ytemp,dydxnew);
for (i=0;i<n;i++)
ytemp[i]=dydxnew[i]+h*d4*dfdx[i]+(c41*k1[i]+c42*k2[i]+c43*k3[i])/h;