public double GetNext()
{
double k1, k2, k3, k4;
double h_2 = StepSize / 2;
CurrentX += StepSize;
k1 = Function(CurrentX, CurrentY);
k2 = Function(CurrentX + h_2, CurrentY + h_2 * k1);
k3 = Function(CurrentX + h_2, CurrentY + h_2 * k2);
k4 = Function(CurrentX + StepSize, CurrentY + StepSize * k3);
CurrentY += StepSize / 6 * (k1 + 2 * (k2 + k3) + k4);
return CurrentY;
}