a)Consider this polynomial :
$ f(x) = (x - 1)(x^{2} - 1)(x^{4} - 1)\cdots(x^{2^{n}} - 1)$
coefficient of this polynomial are $ 0,1, - 1$ . and we can write :
$ f(x) = g(x)h(x)$ where :
$ g(x) = (x - 1)^{n}$ and $ h(x) = (x + 1)(x^{3} + x^{2} + x + 1)\cdots(x^{2^{n} - 1} + ... + 1)$
and u can check that if we choose $ n$ sufficient big both of these polynomials have a coefficient bigger than $ 1387$ .
b)No
Assume that we can write $ f(x) = (x^{2} - 3x + 1)g(x)$ where all coefficient of $ f$ are $ 0,1, - 1$ and $ g(x)\neq 0$
we can write $ f(x) = a_{n}x^{n} + a_{n - 1}x^{n - 1} + \cdots + a_{1}x + a_{0}$ . and we can assume $ a_{n} > 0$
$ Lemma$ : if $ s\geq 2$ then : $ s^{n} > s^{n - 1} + s^{n - 2} + \cdots + s + 1$ .
now consider $ r = \frac {3 + \sqrt5}{2} > 2$
we know that $ r^{2} - 3r + 1 = 0$ so we must have $ f(r) = 0$ but all of coefficient of $ f$ are $ 0,1, - 1$ and $ a_{n} > 0$ so we must have $ a_{n} = 1$ Thus we can easily prove by lemma $ f(r) > 0$ . Contradiction !