In FriCAS:
(22) -> f := 1/2 + 6*weierstrassP(1/12, g2, c1 + x)
1
12 weierstrassP(--,g2,x + c1) + 1
12
(22) ---------------------------------
2
Type: Expression(Integer)
(23) -> D(f, x, 2) - (f^2 - f)
(23) 0
Type: Expression(Integer)
There is also trival solution, that is f := 1. FriCAS definition
of weierstrassP is rather conventional:
(25) -> D(weierstrassP(g2, g3, x), x)
(25) weierstrassPPrime(g2,g3,x)
Type: Expression(Integer)
(26) -> D(weierstrassPPrime(g2,g3,x), x)
2
12 weierstrassP(g2,g3,x) - g2
(26) ------------------------------
2
Type: Expression(Integer)
There seem to be some confusion about order of arguments and
apparently Dr Huang skipped factor of 6 from derivative
of weierstrassPPrime (or whatever he uses instead).
--
Waldek Hebisch