Let first array in input be [a, b, c, d]. Then, you should include static tests with corner cases d + b/a == 0, because it produces differential equation of other form.
Since you are not enforcing any numerical method, it's quite unclear what to do. Euler's method? Runge-Kutta method? It's actually simplier to go with analytical solution.
Rounding floats is a bad idea. It's better to use test.approx_equals or whatever it's called.
Several suggestions:
[a, b, c, d]
. Then, you should include static tests with corner casesd + b/a == 0
, because it produces differential equation of other form.test.approx_equals
or whatever it's called.