pub fn implicit_euler( f: impl Fn(f64, &[f64]) -> Vec<f64>, t_span: (f64, f64), y0: &[f64], dt: f64, newton_iters: usize, ) -> OdeResult