Modular forms with finitely many or very few non-zero Fourier coefficients I have an elementary question on modular forms, but which I don't know how to solve.

a) Is there a congruence subgroup $\Gamma \leq \mathrm{SL}_2(\Bbb Z)$, an integer $k \in \Bbb Z$ and a non-constant modular form $f \in M_k(\Gamma)$ such that $f$ has only finitely many non-zero Fourier coefficients $a_n(f)$ ?
b) What about $\{n \geq 0 \mid  a_n(f) \neq 0\}$ having zero density?

One can easily have a non-zero modular form $f$ such that $a_n(f) = 0$ for every odd integer $n$. For part a), I think the answer should be no : $f$ is just a trigonometric polynomial and I guess one can come up with some elementary argument, but I don't know exactly how. Part b) is maybe a more subtle question, I would be glad to have any information about it!
I already asked it here, but got no comment nor any reply. Possibly related: Modular forms with prime Fourier coefficients zero.
 A: For simplicity, I will assume that $f$ is a cusp form (hence $k\geq 12$ and $k$ is even).
The answer to question (a) is negative. It was proved independently by Rankin (1939) and Selberg (1940) that the Dirichlet series
$$\sum_n\frac{|a_n(f)|^2}{n^s}$$
has a simple pole at $s=k$. Hence infinitely many coefficients $a_n(f)$ are nonzero.
Regarding question (b), let me further assume that $f$ is a primitive Hecke eigenform. If $f$ is a CM form, then $a_n(f)\neq 0$ implies that the prime factors of the square-free part of $n$ split in the quadratic number field associated with $f$, so the density of $\{n:a_n(f)\neq 0\}$ is zero. If $f$ is not a CM form, then the density of $\{n:a_n(f)\neq 0\}$ is positive, as proved by Serre (1981).
A: There is a completely elementary way to see that the answer to a) is negative - if $f$ had only finitely many Fourier coefficients, it would extend to an entire function on $\mathbb C$. But for any $\pmatrix{a&b\\c&d}\in\Gamma$ we get
$$f\left(\frac{b}{d}\right)=f\left(\frac{a\cdot 0+b}{c\cdot 0+d}\right)=(c\cdot 0+d)^kf(0)=d^kf(0)$$
which means that either $f$ has a dense set on which it is constant (if $k=0$ or $f(0)=0$), and hence $f$ is constant, or $f$ will take arbitrarily high values within interval $(0,1)$, which is impossible.
The same argument, together with simple upper bouds on $a_n(f)$, also gives some, though admittedly bad, lower bounds on how many nonzero coefficients there ought to be - the nonzero coefficients cannot be exponentially sparse. GH from MO's answer gives a much tighter bounds in these regards.
