Irreducible polynomials / sum of products of linear factors



Could Maxima do the following automatically?

Suppose one has

h1 : (n+r+1)*a*d + (n+r+1)^2*d - n*b*c
	 + (r+1)*a*c - (n^2-(r+1)^2)*c - n^2*b
	 + n*(n+2*r+2)*a + (2*r+2)*n*(n+r+1);

h2 : (a+n+r+1)*(n+r+1)*(c+d+2*n) - (c+n)*n*(a+b+2*n+2*r+2);

These two polynomials are equal!

Is there an algorithm to find one (all) possibility(ies),
rewriting a given polynomial as sum of k products of linear factors?
With k a fixed positive integer. For the example k=2 was used.

Andre

P.S. h doesn't factor