multivariate polynomial root-finding
I have a series of large, high-degree, bivariate polynomials in two variables, p and q. For example, one of these polynomials is:
p7(25/4q6−75q5+525/2q4−400q3+300q2−120q+20)+p6(−175/8q6+525/2q5−3675/4q4+1400q3−1050q2+420q−70)+p5(255/8q6−765/2q5+2655/2q4−1980q3+1425q2−540q+84)+p4(−25q6+300q5−8175/8q4+1450q3−1875/2q2+300q−35)+p3(45/4q6−135q5+1785/4q4−580q3+300q2−60q)+p2(−45/16q6+135/4q5−855/8q4+120q3−75/2q2)+p(5/16q6−15/4q5+45/4q4−10q3)+1
I would like to find all values of q for which this polynomial is equal to 1−p. The following code block illustrates my problem:
sage: fid7tof
5/4*(5*q^6 - 60*q^5 + 210*q^4 - 320*q^3 + 240*q^2 - 96*q + 16)*p^7 - 35/8*(5*q^6 - 60*q^5 + 210*q^4 - 320*q^3 + 240*q^2 - 96*q + 16)*p^6 + 3/8*(85*q^6 - 1020*q^5 + 3540*q^4 - 5280*q^3 + 3800*q^2 - 1440*q + 224)*p^5 - 5/8*(40*q^6 - 480*q^5 + 1635*q^4 - 2320*q^3 + 1500*q^2 - 480*q + 56)*p^4 + 5/4*(9*q^6 - 108*q^5 + 357*q^4 - 464*q^3 + 240*q^2 - 48*q)*p^3 - 15/16*(3*q^6 - 36*q^5 + 114*q^4 - 128*q^3 + 40*q^2)*p^2 + 5/16*(q^6 - 12*q^5 + 36*q^4 - 32*q^3)*p + 1
sage: solve([fid7tof == 1-p], q)
[0 == 5*(10*p^4 - 20*p^3 + 16*p^2 - 6*p + 1)*q^6 - 60*(10*p^4 - 20*p^3 + 16*p^2 - 6*p + 1)*q^5 + 30*(70*p^4 - 140*p^3 + 109*p^2 - 39*p + 6)*q^4 - 160*(20*p^4 - 40*p^3 + 29*p^2 - 9*p + 1)*q^3 + 160*p^4 + 600*(4*p^4 - 8*p^3 + 5*p^2 - p)*q^2 - 320*p^3 - 960*(p^4 - 2*p^3 + p^2)*q + 112*p^2 + 48*p + 16]
All Sage returns is another multivariate polynomial, which doubtless has many solutions ˉq(p). Is there something I can do to get these solutions?