Number of solutions to a functional equation 
Let $f(x)=\mathrm e^{-x}\sin(x)g(x)$, where $g:\mathbb{R^+}\to (-M, M)$ for some positive real $M$. The number of solutions to the equation $|f(n_1)|+|f(n_2)|+\cdots+|f(n_k)|=1$, where all $n_i$ are natural:
A) is infinite for some values of $k$ only
B) is finite for all values of $k$
C) can be infinite for all values of $k>1$
D) none of these.

My approach: The only thing I did was that I noticed that for $x>0$, $f(x)<M$, so$$f(n_1)+f(n_2)+\cdots+f(n_k)<kM.$$Therefore, $1<kM$, and thus $1/M < k$. However, this bound on $K$ only ensures a solution and contributes nothing in calculating the number of solutions. I do not have any idea on how to proceed further.
Since this was from a high school exam, a solution exists using elementary calculus techniques only.
The given answer is B.
 A: $\def\N{\mathbb{N}}\def\e{\mathrm{e}}$Option B is correct. To prove it, a stronger proposition needs proving by induction:

Proposition: For any $k \in \N_+$ and $a > 0$, the equation $\sum\limits_{j = 1}^k |f(n_j)| = a$ has only finitely many natural solutions.

Proof: For $k = 1$, if $n_1 \in \N_+$ satisfies $|f(n_1)| = a$, then$$
a = |f(n_1)| = \e^{-n_1} · |\sin(n_1)| · |g(n_1)| \leqslant \e^{-n_1} · M \Longrightarrow n_1 \leqslant \ln\frac{M}{a},
$$
which implies that $|f(n_1)| = a$ has only finitely many natural solutions.
Now assume the proposition holds for $k$. If $n_1, \cdots, n_{k + 1} \in \N_+$ satisfy $\sum\limits_{j = 1}^{k + 1} |f(n_j)| = a$, without loss of generality assume that $|f(n_1)| \leqslant \cdots \leqslant |f(n_{k + 1})|$, then$$
\frac{a}{k + 1} \leqslant |f(n_{k + 1})| = \e^{-n_{k + 1}} · |\sin(n_{k + 1})| · |g(n_{k + 1})| \leqslant \e^{-n_{k + 1}} · M
$$
implies that $n_{k + 1} \leqslant \ln\dfrac{(k + 1)M}{a}$. Note that for each natural $n \leqslant \ln\dfrac{(k + 1)M}{a}$, the equation$$
\sum_{j = 1}^k |f(n_j)| = a - |f(n)|
$$
either has no natural solution if $|f(n)| \geqslant a$ or has only finitely many natural solutions if $|f(n)| < a$ by induction hypothesis, therefore $\sum\limits_{j = 1}^{k + 1} |f(n_j)| = a$ also has only finitely many natural solutions. End of induction.

As is pointed out by @AlexRavsky, the inductive step fails since $f(n_{k + 1})$ might be equal to $a$.
A: An answer depends on $M$. Since $|f(n)|< Me^{-n}|\sin (n)| \le Me^{-1}\sin 1\approx 0.31 M$ for each natural $n$, if $kMe^{-1}\sin 1\le 1$ then the equation $|f(n_1)|+|f(n_2)|+\cdots+|f(n_k)|=1$ has no natural solutions. Otherwise consider an arbitrary continuous function $g:\mathbb{R^+}\to (-M, M)$ such that $g(1)=\frac {e}{k\sin 1}<M$ and $g(n)=0$ for each natural $n>1$. Then $k|f(1)|=1$. Moreover, for each $k’>1$ if $n_i=1$ for each $1\le i\le k$ and $n_i>1$ for each $k+1\le i\le k’$ then $|f(n_1)|+|f(n_2)|+\cdots+|f(n_{k’})|=1$. So the latter equation has infinitely many solutions.
