Solution to the many-body-problem (Simply): Store all the potential momentums for each body in a ‘holding matrix’ before even beginning to add them to each or any of the existing positions.
If we have 10 bodies under gravity, then there are 90 gravitational calculations. Instead of adding in the new positioning one body at a time; all the new additions to momentums are calculated and then stored in a holding matrix for momentum which has 90 ‘new momentum changes’.
Only once all the 90 new movements have been determined (and stored separately) does the software then begin to add those new momentums to the old momentums. Then; only when all those calculations have been completed, does the program begin to calculate the new movements to each of the old positions. After that is complete the timer can start a new quantum of time, and the calculation repeats; one Iota at a time.
At least two separate steps are required. I use three steps. Each step is completed before the next one can begin. Do not calculate entire objects one at a time. Calculate all the momentum changes; then calculate all the new momentums; and then calculate all the new positions. The holding matrix method is not only accurate, but it is the only way to construct the algorithm.
more here
http://www.flight-light-and-spin.com/many-body-problem.htm