Many of these issues are native to ODE. I once attempted a project exactly like that, with the same results. I suggest moving to newton, as it is much more stable.