A sample of $10$ elements was taken from a normal population, provided a variance $25$. Calculate the sample size that evaluates the population mean with error of $2.5$ units at the $95$% confidence level.
There exists a formula to calculate the size of the sample, but in the formula it needs the population standard deviation, and I can't see a way to aproximate the standard deviation given only the variance of the sample.
Is your formula the same as this one:
$$ n = \left( \frac{z_{\alpha/2}\sigma }{E} \right)^2 $$
with $z_{\alpha/2} = 1.96$ for a $95\%$ confidence interval and $E=2.5$ is your margin of error?
If you think that the question has given you the sample variance ($s^2=25$), then we can estimate the population variance ($\sigma^2$) using:
$$ \begin{align} \sigma^2 &= \frac{n_0}{n_0-1}s^2 \end{align}$$
where $n_0=10$ in your case.
(You might have come across this estimation before. If not, try Googling it: "estimating the population variance from the sample variance".)
Using this estimation you get $n=17.07$, rounded up to $n=18$. Where did you get the answer $20$ from? It seems wrong to me...