Mordell-Weil sieve on the genus-15 curve D of Paper 125 ("Croatian olive", lasic_oblak), kiro_dioph7, 2026-11-12.
D: w^2 = f(k), z^2 = Phi(k); E: Y^2 = X^3 - 23X + 78 with Paper 125's map (Thm 2). Python 3 + cypari2 (PARI 2.17) except b_search.py and e_iota.py (stdlib).
Run from a directory where m/olive/ holds these files (c_check.py and e_iota.py read m/olive/b_search.py).
a_mw.py     E(Q): rank 1 (ellrank lo = hi = 1), torsion <T>, T = (-6,0), generator G = (-1,10); Paper 125's P = -2G.
a_sat.py    saturation: Silverman bound, any G' with G = mG' (m >= 2) has H(x) <= 3922; ratpoints to 20000 finds no point of smaller height.
b_search.py exact: k(nG+eT) for |n| <= N (arg), Phi(k) square?, and the 21 conditions at the members.   python3 b_search.py 60
c_sieve2.py the sieve.   python3 c_sieve2.py 1e6 2,2,3,2,5,3,2,7,11,2,3,13,5,17,19,7,23,2,29,31,3,37,41,43,11,47,13
            positive control: OLIVE_TWIST=$(cat c_ctrl_c.txt) python3 c_sieve2.py 1e6 <same list>   (Phi -> c Phi, known class 5G)
c_check.py  (1) the two formulas for k agree on E; (2) kbar(nG+eT mod l) = exact k mod l, 48600 cases; (3) control twist c.
d_ratpts.py hyperellratpoints on z^2 = Phi and y^2 = f Phi (the other two quotients of D), height <= 2000.
e_except.py numerator of x6 x7 + 1 is exactly Phi.
e_iota.py   the deck involution of k: E -> P^1 is R -> -R + 3G + T.
