The task behind is to eliminate the variable y from the two equations.
There exist two methods:
A) do a Groebner basis calculation w.r.t. to a elimination ordering
e.g. a lexicographical ordering.
Here you may also use simply Singular's command
eliminate which uses some (hidden) strategies for the choice of the ordering
B) make a resultant computation
In both cases the result is (upto to the sign) the same,
however the the speed may variy in some cases and it can not be said
which is the faster.
In your example the result is obtained instantly with both methods.
Code:
> ring r =(0,a,b),(x,y),dp; // a and b are parameters, x,y are variables
> poly f = ax3-3xy+b;
> poly g = x2y-2y2+x;
> ideal I = f,g;
// Groebnerbasis method: eliminate takes as input an ideal an returns an ideal
> eliminate(I,y);
_[1]=(2a2-3a)*x6+(4ab-3b-9)*x3+(2b2)
> poly h = _[1]; // access to the last result with _ (in Maple it is %)
> h;
(2a2-3a)*x6+(4ab-3b-9)*x3+(2b2)
> // resultant method
> resultant(f,g,y);
(-2a2+3a)*x6+(-4ab+3b+9)*x3+(-2b2)
> short =0;
> _;
(-2*a^2+3*a)*x^6+(-4*a*b+3*b+9)*x^3+(-2*b^2)
As you see, the result is displayed as polynomial in x with polynomial
coefficient in the the parameters a and b.