polynomials – I have two equations f(u,v,k)=0 and g(u,v,k)=0. I want to find a branch (if there exists) of k(u,v) such that this system has a solution in (u,v)

I have two polynomials in k given by f(u,v,k) and g(u,v,k). I know that there exists a function k=k(u,v) such that, when we evaluate this function in the system, we get a new equation h(u,v)=0, which defines a curve. I would like to find that solution in k. The problem is that, for instance, we could have that g is a fourth-degree polynomial in k and, if we extract all the roots with

Solve(g(u,v,k)==0,k),

then it could happen that some functions k=k(u,v) don’t provide a solvable equation

f(u,v,k(u,v))==0

Up until now, what I’ve done is the following thing:

sols = Solve(g(u,v,k) == 0, k);
For(l = 1, l <= Length(sols), l++,
  ktemp = sols((l))((1))((2));
  tempcurve = f(u,v,k) /. k -> ktemp;
  tempplot = ContourPlot(tempcurve == 0, {u,0,4}, {v,0,6});
  If( Length(Cases(Normal@tempplot, Line(x_) :> x, Infinity)) > 0,
   k = ktemp;
   Break;
   )
  );

However, as this code is plotting each implicit function for each k, it may take a long time. I was wondering if there is an optimal way to do this.