Runge-Kutta 4th Order ODE Solver

RK4 is a FORTRAN77 library which implements a simple Runge-Kutta solver for an initial value problem.

The rk4() routine does not include any error estimator. It takes a single step at a time, requiring the user to control the step size.


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


RK4 is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

CWG_ODE, a FORTRAN77 library which implements three ODE solvers by C William Gear.

DRIV, a FORTRAN77 library which solves real or complex systems of ordinary differential equations;

NMS, a FORTRAN77 library which includes the DDRIV package of ODE solvers.

ODE, a FORTRAN77 library which solves a system of ordinary differential equations, by Shampine and Gordon.

ODEPACK, a FORTRAN77 library which contains nine ODE solvers, including LSODE, LSODES, LSODA, LSODAR, LSODPK, LSODKR, LSODI, LSOIBT, and LSODIS, by Alan Hindmarsh.

RKF45, a FORTRAN77 library which implements the Runge-Kutta-Fehlberg ODE solver.

TEST_ODE, a FORTRAN90 library which contains routines which define some test problems for ODE solvers.


  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.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN77 source codes.

Last revised on 09 October 2013.