# Solving abstract factorization problem with Mathematica

I'm a Mathematica newbie.

Given something like:

$$(r_0 + r_1 a + r_2 a^2 + r_3 a^5)(r'_0 + r'_1b + r'_2 b^2 + r'_3 b^5) = 1 - a^5 b^5$$

I'd like to determine if there exist $$r_i,r'_i$$ that solve the equation. This is a specific version of the general problem, so what I'd like to be able to do, is have Mathematica Expand the equation on the left, set like terms equal to each other (so $$r_3r'_3 a^5b^5 = a^5b^5$$ in the above example.) and solve the resulting system of quadratic equations, or at least, determine if a solution exists.

Any help is appreciated. Calling Simplify and Expand doesn't resolve the equations into the form I'd like Mathematica to write them in, and as for solve systems of quadratic equations, I've seem some suggestions, but nothing that seems like it would scale.

SolveAlways[(r0 + r1 a + r2 a^2 + r3 a^5) (s0 + s1 b + s2 b^2 + s3 b^5) == 1 - a^5 b^5, {a, b}]

From the documentation of SolveAlways:
SolveAlways[eqns,vars] gives the values of parameters that make the equations eqns valid for all values of the variables vars.