The Saros is the time period for the draconic month ($T_d$ = 27.212220815 days), synodic month ($T_s$ = 29.530588861 days) and anomalistic month ($T_a$ = 27.554549886 days) to approximately match. More specifically, it states that
$$242 T_d \approx 223T_s \approx 239 T_a$$
My question is: Is there a non brute force way to derive such integer approximations?
Consider a simpler case, in which we want to get integer approximations for only 2 periods. Take the synodic month and the tropical year ($T_y$ = 365.24219 days). Therefore,
$$aT_s=bT_y$$
$$\frac{a}{b}=\frac{T_y}{T_s}$$
To derive increasingly accurate approximations, one can use the continued fraction expansion for $\frac{T_y}{T_s}=12.368266400619…$, which is (in the WolframAlpha notation)
$$12.368266400619=[12; 2, 1, 2, 1, 1, 17, 3, 196, 1, 4, 1, 1, 2, 2,…]$$
From which it can be seen that truncating just before the 17 yields a good approximation
$$12.368266400619\approx[12; 2, 1, 2, 1, 1]=\frac{235}{19}$$
Therefore,
$$235T_s\approx19T_y$$
Which is known as the metonic cycle.
However, I cannot see a good way to extend this method for 3 periods and beyond.
Best Answer
You could try the Lenstra–Lenstra–Lovász (LLL) lattice basis reduction algorithm to calculate a short vector in a lattice. I use Pari GP (p. 382, section 3.10.62 qflll) for the calculation.
We define a lattice with a basis consisting of the columns of the Matrix $M$
$$M:=\begin{pmatrix} \frac 1 m& 0& 0 \\0&\frac 1 m & 0 \\0 & 0& \frac 1 m \\T_d &T_s & 0\\ T_d&0&T_a\end{pmatrix} $$ $m$ is a scaling factor. A linear combination of these basis vectors
$$\begin{pmatrix} \frac {\lambda_1} m \\ \frac {\lambda_2} m \\ \frac {\lambda_3} m \\{\lambda_1} T_d+ {\lambda_2} T_s \\{\lambda_1} T_d+ {\lambda_3} T_a \end{pmatrix}$$
is of small length, if ${\lambda_1} T_d+ {\lambda_2} T_s $ and ${\lambda_1} T_d+ {\lambda_3} T_a$ is small and $\frac {\lambda_1} m, \frac {\lambda_2} m , \frac {\lambda_3} m $ are small, too. In this case $${\lambda_2} T_s - {\lambda_3} T_a= ({\lambda_1} T_d+ {\lambda_2} T_s )-({\lambda_1} T_d+ {\lambda_3} T_a)$$ is small, too. Note that ${\lambda_2}$ and ${\lambda_3}$ have the same sign.
With Pari/GP online I get the following output
The coefficients are $242, 223, 239$, the differences are $0.036, 0.180, 0.216$.
I added the length of the tropical month ($T_t$) and the sidereal month ($Ti$), from Wiki and got, for m=100000