rkf45, a C code which implements the Watt and Shampine RKF45 solver for ordinary differential equations (ODE).

The RKF45 ODE solver is a Runge-Kutta-Fehlberg algorithm for solving an ordinary differential equation, with automatic error estimation using rules of order 4 and 5.


The computer code and data files described and made available on this web page are distributed under the MIT license


rkf45 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

midpoint_gsl_test, a C code which calls the Gnu Scientific Library (GSL) implicit midpoint method solver for ordinary differential equation (ODE), and uses gnuplot() to plot the resulting solution.

ode, a C code which solves a system of ordinary differential equations (ODE), by Shampine and Gordon.

ode_moshier, a C code which implements the Adams-Bashforth-Moulton and Runge-Kutta (RK) methods of solving systems of ordinary differential equations (ODE), by Steven Moshier.

RK4, a C code which applies the fourth order Runge-Kutta algorithm to estimate the solution of an ordinary differential equation (ODE) at the next time step.



  1. Erwin Fehlberg,
    Low-order Classical Runge-Kutta Formulas with Stepsize Control,
    NASA Technical Report R-315, 1969.
  2. Lawrence Shampine, Herman Watts, S Davenport,
    Solving Non-stiff Ordinary Differential Equations - The State of the Art,
    SIAM Review,
    Volume 18, pages 376-411, 1976.
  3. The source code for Shampine and Watt's original FORTRAN77 routine is available at https://www.netlib.org/ode/ the NETLIB ODE web site.

Source Code:

Last revised on 03 August 2019.