While I'm not good at math I can't give you advices on improving the way you calculate your Physics.
But as a programer I would definitly advise you to start using multithreading for this.