I'm trying to find a closed form expression for the (complex) Fourier series of $(a + b \cos(x))^{n}$ where $n \in \mathbb{Z}$ and $a, b \in \mathbb{R}$. So far, I've done the naive thing and used binomial theorem twice to end up with
\begin{align} (a + b \cos(x))^{n} &= \sum_{j=0}^{n} \sum_{\alpha = 0}^{j} {n \choose j} {j \choose \alpha} a^{n-j}\left(\frac{b}{2}\right)^{j}e^{i (2\alpha - j)x}. \end{align} Then, I defined $m := 2 \alpha - j$ as that is the exponential coefficient, essentially running the outer sum over the Fourier index $m$ and have the inner sum enumerate $(j, \alpha)$ pairs that give $m$.
However, no matter how I defined my $(j, \alpha)$ parameterization variable $t$, I always ran into the same problem - I'm not sure how to evaluate the one dangling sum that's not over $m$. My combinatorics isn't even good enough to know whether or not this problem is easy and I'm missing something obvious or if this problem is actually intractable and I'm wasting my time trying.
Another thing I've considered is to determine the coefficients inductively. For a fixed $a, b$, let $c^{n}_{m}$ be the coefficient of the $m$th Fourier mode in the Fourier expansion of $f_{n}(x) = (a + b \cos(x))^{n}$. The recurrence relation should be \begin{align} c^{n+1}_{m} = a c^{n}_{m} + \frac{b}{2} \left( c^{n}_{m-1} + c^{n}_{m+1} \right), \end{align} with initial conditions for $n=1$ as \begin{align} c^{1}_{0} = a, \quad c^{1}_{1} = c^{1}_{-1} = \frac{b}{2}. \end{align} However, I'm not exactly sure how to proceed at this point. Very naively, we can use that the function over real $x$ is pure real so there is a relation between $c^{n}_{m}$ and $c^{n}_{-m}$ to make both $n, m \geq 0$. Then, we could use generating functions. But such a technique complicates things because the recurrence relation would get cases where its one expression for $m \geq 1$, and another for $m = 0$ where it would otherwise pick up a contribution from negative coefficients. I'm not sure how generating functions would work with Laurent series either...
Any help would be appreciated!