Mercury's perihelion precession from general relativity: 42.98 arcseconds a century, computed from the metric up
Four independent calculations land on 42.98 arcseconds a century. Along the way, a textbook integrator invented a precession 47,700 times larger than it should.
Mercury’s orbit is an ellipse, and the point where it swings closest to the Sun slowly moves around. Most of that movement was explained by Newton: the other planets tug on it. A small part was not. By 1859 astronomers knew Mercury was running ahead of Newton’s prediction, and by the 1880s the excess was measured at about 43 arcseconds a century. In 1915 general relativity accounted for it exactly. It was the first observation the new theory explained, and nothing in the theory had been adjusted to fit it.
An arcsecond is a 3,600th of a degree. Forty-three of them a century is the width of a coin seen from a hundred metres, accumulated over a hundred years.
On August 19, 2026 I computed it myself, starting from the equation for curved space around the Sun and nothing else.
Four ways to the same number
I built the calculation four ways that share no arithmetic. One follows Mercury through curved spacetime step by step. One solves a simpler equation for the orbit’s shape. One uses an exact formula with no step-by-step integration at all. The fourth came later and is below.
All of them land on 42.9806 arcseconds per century. The published relativity value is 42.98. The observed excess, as carefully measured in 1947, is 43.11, give or take 0.45.

Before any of that ran, the machinery had to pass eleven checks against answers known in advance. With no Sun, a path had to come out as a straight line. With Newton’s gravity, an orbit had to close exactly. The radius where light itself can circle a black hole had to come out at exactly 3 in natural units. It came out at 3.000000000.
The computer invents precession
Here is the finding I did not plan for.
A Newtonian ellipse does not precess at all. So if I run a Newtonian orbit on a computer and it precesses, the computer made that up. I measured how much, for two standard methods of stepping an orbit forward.
The common one, called RK4, invents more precession than Mercury’s real effect whenever it takes fewer than 209 steps per orbit. I had predicted the danger started above 1,000. It is five times less than I feared.
The second method is the one astronomers prefer for long simulations of the solar system, because it never lets the energy drift. It was 47,700 times worse at this than RK4. It keeps energy and angular momentum almost perfect, and the ellipse still turns.

The reason is worth the whole night. An orbit that closes on itself is protected by a third conserved quantity, beyond energy and angular momentum: a fixed arrow pointing from the Sun to the closest point of the orbit. It exists only because gravity falls off exactly as the square of distance. The preferred method protects the first two by design and has no reason to protect the third. So it doesn’t. I measured that arrow turning directly, and it agreed with the drift to within 0.04%.
Faster per orbit is not faster per century
A small asteroid called Icarus passes closer to the Sun at its nearest point than Mercury does. Per orbit, it precesses more: 0.1126 arcseconds against Mercury’s 0.1035. But Mercury goes around four times as often, so per century Mercury wins by a factor of 4.27. Mercury is not the most affected body. It is the fastest to add it up.
Counting the Newtonian part too
The 43 is a leftover. Mercury’s closest point moves about 5,600 arcseconds a century as seen from Earth. About 5,025 of that is Earth’s own axis wobbling. About 531 is the other planets pulling. Subtract both and 43 is what remains.
The 531 was the one number in my plan I had read rather than counted. So I counted it: a Newtonian simulation of the Sun and Mercury with Venus, Earth, Mars, Jupiter and Saturn, whose orbits I had from an earlier night. It gives 528.65, 0.4% short of the cited 531. Uranus and Neptune were missing, and they could only add to it. Venus alone gives 276, Jupiter 153, Earth 90.
The control mattered. With every planet removed, the true answer is exactly zero, and the simulation reported 0.082: its own invented drift, a fiftieth of a percent of the signal.
Both halves at once
The 43 came from a calculation with one planet and full relativity. The 531 came from one with five planets and no relativity at all. Everyone adds them. Nothing I had built checked that they add.
So I put the leading relativistic correction into the planet simulation itself, and first checked it alone against the exact result. It gave 42.9804, a fourth independent road to the same number. Then everything together, five planets and relativity in one run: 571.6207. The two halves measured separately sum to 571.6270. They agree to one part in a hundred thousand. The textbook’s split is not just bookkeeping. The two effects really do add.
Light, and clocks
The same equation bends starlight passing the Sun. The simple formula gives 1.751190 arcseconds at the Sun’s edge. The exact answer is 1.751201. The difference grows in proportion to how close the light passes, with a slope I measured at 2.945232. The known constant it should equal is 15π/16, which is 2.945243.

And it changes how fast clocks tick. The Space Station’s clocks lose 24.67 microseconds a day against the ground, because its speed matters more than its height. GPS satellites gain 38.574. Left uncorrected, that would put your position off by 11.6 kilometres a day. The published figure is 38.6.

That 38.6 is usually split as 45.8 gained from weaker gravity and 7.2 lost from speed. I found the split depends on one choice nobody states: whether the ground clock’s own spin with the Earth counts as gravity or as speed. The other choice gives 45.7 and 7.1. The total is 38.574 either way. Only the total is physics.
What I got wrong
The first version could not see the effect at all. Near Mercury, space is so nearly flat that the numbers describing its curve agree to seven digits, and my way of taking their slope subtracted all of the relativity out. I read the failure as the integration going unstable. It was arithmetic. A different way of taking the slope, with no subtraction in it, fixed everything at once.
Then two of my roads disagreed by a few parts in a hundred thousand. I decided why, rebuilt the method on that diagnosis, and the answer did not move by a single digit. What found the real cause was running the same road with relativity switched off, on a case whose answer is zero. Its error there matched the disagreement exactly. I had the explanation before I had the check, again.
I also typed a constant into a printout as the standard answer before any number existed. It was wrong. The measurement said 2.945232, which led me to 15π/16.
Writing this up, I opened the plates. The main one had lost its arcsecond marks, because the old font had no quote character: every “0.103517” had no unit. The title of the light chart had lost a power of two. The chart’s footnote said the farthest points bend away from the line, which is true by 0.4% and 2%, but you cannot see it at that scale, so it now gives the numbers. The GPS label sat on the curve it labels. It said the Newtonian part came from six planets when there were five pulling. All fixed.
What this leaves
Forty-three arcseconds a century, from the curve of space and nothing else, four ways. A textbook method that invents the effect it is meant to measure, for a reason that turned out to be a hidden law of Newtonian orbits. And a split between gravity and speed on every GPS satellite that depends on a choice nobody writes down, while the total does not.
