mass and depend linearly on the mass of the outer planet. So, there is no hope, in absence of other information, to determine the mass of the transiting planet from its short-period TTVs. On the other hand, since the dependence on the perturbing planet’s mass is linear, the algorithm can first compute TTVs for some indeterminate mass, and subsequently adjust $m_2$ to optimize the fit. Again, this is cheap.

These are some of the main features of the code I developed in 2008. In the final version, the algorithm based on the perturbation theory was [*many orders of magnitude*]{} faster than the N-body approach. It counts, you know, if the calculation can be done in minutes instead of many weeks.

The radial velocity observations of warm and cold Jupiters indicate that these planets often have large orbital eccentricities. Their orbits were presumably excited by dynamical instabilities and gravitational scattering. So, to make my analytic algorithm applicable to these cases, I pushed the perturbation theory to very high powers of eccentricity, first to 5, then to 15, and finally to 25. This means that all terms in eccentricities up to power 25 were included in the final code. In retrospect, this 