It depends on your population and the confidence that you need in your results. Typically, you should know something about what you are trying to achieve. If you know your confidence level, confidence interval, and population size, you can choose a sample size that will give you the properly confidence.
Your confidence level, typically around 90% (95% and 99% are also commonly used), tells you how sure you will be that your entire population reflects your results. The confidence interval describes the range of values that you are sure about within your confidence level.
Wikipedia provides an overview of sample size methodologies. That might get you started. But unless you know how sure you want to be of your results, you can't determine a sample size. Wikipedia also provides decent definitions of confidence level and confidence interval.
From a statistical standpoint, if you don't have clearly defined questions, you really can't analyze your data, at least using statistical methods. Perhaps you should review data and try to formulate questions, or take an analytical instead of statistical approach to solving the problem/answering your question.
Assuming a normal distribution, you can use the equation $n \geq \left(\dfrac{z_{\alpha/2} \sigma}{\delta}\right)^2$ where z is found in a table, σ is your standard deviation (which you can use either a sample standard deviation or a population standard deviation, depending on what you know), and δ is your confidence level. The value for n is your population - be sure to round up if you get a fractional n.
Note that the z-value is based on your confidence level. The value for α is a value between 1 - the decimal format of your confidence level (for a confidence level of 95%, α would be 1 - 0.95, or 0.05).
You might also be interested in the answers to a few questions on the Statistical Analysis Stack Exchange:
Best Answer
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...