Is there a general algorithm that can compute in finite time all rational points on any curve of genus $g\geq 2$ whose Jacobian has rank $0$?


If not, for what special cases such algorithm is known? For genus $g=2$, we have Chabauty0 command in Magma, is it always guaranteed to work? For genus $g=3$, natural families to consider are hyperelliptic curves $y^2=P(x)$ for $P$ of degree $7$ or $8$, or Picard curves $y^3=P(x)$ for $P$ quartic. Is there an algorithm for computing rational points on them if rank if the Jacobian is $0$? Is there a corresponding Magma code?


If yes, can you provide a reference? In Cohen's book, I found the following deep theorem Demyanenko-Manin.


Let C be a curve defined over a number field K. Assume that A is a K-simple Abelian variety such that $A^m$ occurs in the decomposition of the Jacobian J of C up to isogeny over K and that
$$
m > \frac{rk(A(K))}{rk(End\_K(A))},
$$
where as usual rk denotes the rank. Then C(K) is finite and can be determined explicitly.


Can we derive the result from here with, say, $K={\mathbb Q}$, $m=1$, and $A=J$? Even if yes, is there a better reference, ideally book/paper where the existence of an algorithm for the rank $0$ case is stated explicitly?



Algorithm for computing rational points if the rank of Jacobian is 0
There is an algorithm due to Bjorn Poonen (Computing torsion points on curves, Experiment. Math. 10 (2001), no.3, 449–465) that, given a (not necessarily rational) base-point $P\_0$ on the curve, finds all (geometric) points $P$ on the curve such that $[P-P\_0]$ is torsion in the Jacobian. This solves an even harder problem! (Although, as far as I know, this has been implemented only for curves of genus 2 with a Weierstraß point as base-point.)


