Factoring bivariate polynomials w.r.t. a single variable
the function factor() works in this fashion:
sage: x, y = PolynomialRing(GF(17), 2, ['x','y']).gens()
sage: f = 9*y^6 - 9*x^2*y^5 - 18*x^3*y^4 - 9*x^5*y^4 + 9*x^6*y^2 + 9*x^7*y^3 + 18*x^8*y^2 - 9*x^11
sage: f.factor()
(-9) * (x^5 - y^2) * (x^6 - 2*x^3*y^2 - x^2*y^3 + y^4)
Is there a possibility to factorize a bivariate polynomial in x,y with respect to a single variable only (e.g. y) and get the answer in the form of (y - f(x)) as factors?
Surely there is no essential difference between the factorization in F[x,y] which you see and the one in F(x)[y] which you want, by Gauss's Lemma? The fact that none of the displayed factors is linear in y just means that f has no roots in F(x) when you consider it as a polynomial in F(x)[y]. To get roots (and hence linear factors) you would need to enlarge F(x) to its algebraic closure.