If you can check that the curve is geometrically irreducible, then you may try using the Hurwitz formula (you may use the formula in any case, but you would have to be more careful with the conclusions if the curve is not irreducible). Assuming that your example is geometrically integral, projection onto one of the axis is a morphism of degree 23. If you know that the morphism ramifies in at least 2*23+h **smooth** points, then the curve has genus at least 1+h/2. If you know the multiplicities of the ramification or if you know the behaviour of ramification at the singular points, then you can deduce more accurate information.

EDIT: here is an expanded, more computational, version. Write an equation *f* defining your curve *C* as a polynomial of degree *d* in *y* whose coefficients are polynomials in *x*. Thus the morphism $(x,y) \to x$ is a morphism of degree *d* to $\mathbb{A}^1$. We know that this induces a finite morphism from a smooth projective model *C'* of *C* to $\mathbb{P}^1$ and we use the Hurwitz formula to compute the (arithmetic) genus *g* of *C'*: $2g-2=-2d+r$, where *r* is the degree of the ramification divisor. The better you can estimate *r* from below, the better the approximation to the geometric genus of *C*.

Clearly, the points where *f=df/dy=0* but $df/dx \neq 0$ are smooth points of *C* that are ramified for the projection to $\mathbb{A}^1$ and hence contribute to the Hurwitz formula (ramification occurs in *C'* since such points are **smooth** and hence *C* and *C'* are locally isomorphic here).

Computationally we find the resultant in *y* of *(f,df/dy)* (thus you get a polynomial in *x*) and purge out of it the roots it has in common with the resultant in *y* of *(df/dx,df,dy)*. Denote this final polynomial by *R*; the number of distinct roots of *R* is a lower bound for *r*. If you are more careful, you might do a little better than this without having to worry about the singular points of *C*, but for "generic" projections this is optimal.

It seems to me that all this requires is the ability to compute resultants of polynomials in two variables of relatively small degree as well as factoring polynomials in a single variable (and computing gcd's and quotients of polynomials in one variable).

This can further be improved to a better and better lower bound by analyzing more carefully the structure of the ramification at the singular points of *C* and what happens at infinity: some of the points that we threw out could in fact contribute to the arithmetic genus of *C'*, and there could be ramification "at infinity". I leave this as an exercise!