ROCA Implementation, Coppersmith Algorithm does not return roots
At the end of the function coppersmith_howgrave_univariate, you have 

if gcd(modulus, result) &gt;= modulus ^ beta:


You created $f$ as
$$
f(x) = x + (M'^{-1} \bmod N)(65537^{a'}\bmod M),
$$
so when you put $\mathrm{result} = f(\mathrm{root[0]})$, you do not get $p$ or a multiple of $p$, so the gcd makes no sense (and if ever you get a gcd greater than 1, you may have a factor of $N$).

I suggest that if root[0] is an integer, put it in roots and return that. That's what I did and it works fine.