How to find the recurrence polynomial?

Problem:

If $f$ is a polynomial with unknown roots $x_1,-x_1,x_2,-x_2\ldots,x_b,-x_b \quad (b \in \mathbb{N})$ and can be expressed as (known expansion):

$$f(x)=\sum_{a=0}^{2b}f_ax^a\quad(b \in \mathbb{N})$$

How to find $g$, such the roots of $g$ is just $x_1,x_2,\ldots,x_b$?

Details:

Looks like the main problem is solve

$g(x){(-1)}^bg(-x)=f(x)$. But I don't know if this is suficient to force $g$ be of the form $\prod_{i=1}^{b}(x-x_i)$. Looks like using this way, we get a indeterminated system, but if we can express all solutions there's no problem.

Using mathematica an easy problem couldn't be solved, see:

f[x_]:=(x-1)(x+1), RSolve[-g[x]g[-x]==f[x],g[x],x]. The software calculate and calculate...I didn't get answer.

So, using the definition of $f$ above ($f(x)=\sum_{a=0}^{2b}f_ax^a$) how to find the polynomial $g$ with roots $x_1,x_2,\ldots,x_b$?

How can we solve this recursion ($g(x){(-1)}^bg(-x)=f(x)$) and find all $g$ to satisfies it?

If someone knows a computable way to do it, I'd like to know too. If is using Mathematica is more interesting to me.

-
Quite unclear. How can a degree $b$ polynomial have $2b$ roots in $\pm$ pairs? –  Ｊ. Ｍ. Dec 14 '11 at 0:40
The question is underspecified since you have given no way to distinguish $x_j$ from $-x_j$. E.g., given the polynomial $x^2+1$, $x+i$ is an answer, but so is $x-i$; in higher degrees, it gets worse. –  Gerry Myerson Dec 14 '11 at 0:40
@J.M. In the sum is 2b. Edited. –  GarouDan Dec 14 '11 at 0:46
Anyway, this should be interesting to you: With[{n = 6}, {#, x /. Solve[# == 0, x]} &[Collect[Expand[Apply[Times, Sqrt[x] + (C /@ Range[n])] Apply[Times, Sqrt[x] - (C /@ Range[n])]], x, Simplify]]] Change the value of n to something higher or lower; you should see a pattern. –  Ｊ. Ｍ. Dec 14 '11 at 0:48