pub fn euler_step(y: &[f64], dydt: &[f64], dt: f64) -> Vec<f64>
Euler forward step: y_new = y + dt * dydt
y_new = y + dt * dydt