# ODE Solver (Runge–Kutta) > Solve y′ = f(t, y) and systems with adaptive RK45 or RK4: table, plots and CSV. Type a differential equation or a system such as x′ = v, v′ = −x with initial values and parameters, and get the solution table, a plot of every variable, a phase portrait for two variables and a CSV download. Uses the adaptive Dormand–Prince RK45 method with error control or classical fixed-step RK4, and reports steps and function evaluations. Part of the Proofline math notebook. Part of usefulweb.app (https://usefulweb.app/). Part of [Proofline](https://proofline.usefulweb.app/) (ownerApp: proofline). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://prooflineodesolver.usefulweb.app/ (interactive tool at https://prooflineodesolver.usefulweb.app/tool) - JSON API: POST https://prooflineodesolver.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://prooflineodesolver.usefulweb.app/api/v1/tool) - OpenAPI: https://prooflineodesolver.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://prooflineodesolver.usefulweb.app/mcp - tool `proofline_ode_solver` ## Inputs - equations (textarea, required): Equations - One equation per line: y' = expression or dy/dt = expression. Right-hand sides may use the independent variable, every state variable and the parameters. Use + − * / ^, implicit products (2x), sin, cos, tan, exp, ln (natural log), log (base 10), sqrt, abs, pi and e. Angles are in radians. - initial (text, required): Initial values - One value per state variable at the start time, e.g. x = 1, v = 0. - parameters (text): Parameters - Optional constants used in the equations, e.g. a = 1.1, b = 0.4. - variable (text): Independent variable - tStart (number): Start time - tEnd (number): End time - method (select): Method - tolerance (number): Tolerance (RK45) - Relative error allowed per step; the absolute tolerance is 1/100 of it. - step (number): Step size (RK4) - Default: 1/1000 of the interval. - outputPoints (integer): Output points - Equally spaced times in the table, plot and CSV (start and end included). ## Method - Right-hand sides are read by Proofline’s own expression parser (no eval) and may use the independent variable, all state variables and the parameters. - RK45: Dormand–Prince 5(4) embedded pair with local extrapolation and FSAL; the step is accepted when the RMS of error/(atol + rtol·|y|) ≤ 1 and adapted by 0.9·err^(−1/5), limited to a factor 0.2…5. - RK4: classical fourth-order Runge–Kutta with a fixed step. - Both methods shorten the step before each output time so the table holds computed values, not interpolations. - Verified against exact solutions (exponential decay, harmonic oscillator) and the conserved quantity of the Lotka–Volterra system. ## Limits - Explicit Runge–Kutta methods are not suited to stiff systems (very different time scales): the step size collapses and the solver stops with a message. Tolerances bound the error per step, not the global error.