Package Hecke
has factor function for polynomial.
using Hecke
R,(x,y)=polynomial_ring(QQ, [:x, :y])
# (Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y])
p = 55*x^2*y - 15*x*y^2 + 44*x*y - 12*y^2
# 55*x^2*y - 15*x*y^2 + 44*x*y - 12*y^2
factor(p)
# 1 * y * (11*x - 3*y) * (5*x + 4)
q=77x^2*y-21x*y^2-22x^2+6x*y
# 77*x^2*y - 22*x^2 - 21*x*y^2 + 6*x*y
gcd(p, q)
# x - 3//11*y