From Wikipediaa computational problem is understood to be a task that is in principle amenable to being solved by a computer (i.e. the problem can  be stated by a set of mathematical instructions). Informally, a  computational problem consists of problem instances and solutions to  these problem instances. For example, primality testing is the problem  of determining whether a given number is prime or not. The instances  of this problem are natural numbers, and the solution to an instance  is yes or no based on whether the number is prime or not.... A key distinction between analysis of algorithms and computational  complexity theory is that the former is devoted to analyzing the  amount of resources needed by a particular algorithm to solve a  problem, whereas the latter asks a more general question about all  possible algorithms that could be used to solve the same problem.So a problem can be solved by multiple algorithms. I was wondering if an algorithm can solve different problems, or can only solve one problem? Note that I distinguish a problem and its instances as in the quote.
Relation between problems and algorithms
algorithms;complexity theory;terminology
I think the question is more philosophical than scientific, and indeed, as @raphael mentioned, the problem is in the definition of a Problem.Algorithm, in the simplest way, is a function (a mapping). It gets an input (instance) $in \in I$ and gives an output $out \in O$. For any instance $in$ there is only a single output $out=\mathsf{ALG}(in)$. Therefore, the algorithm solves only a single problem  that is, it defines only a single mapping from $I$ to $O$.True, if you have two problems (mappings), $P_1 : I_1 \to O_1$ and $P_2: I_2 \to O_2$ we can construct a single algorithm that solves both. It gets as an input the pair $(in,type)$. If $type=1$ it returns $P_1(in)$ and otherwise it returns $P_2(in)$.But again, this fancy algorithm can be seen as solving a single problem from the domain $(I_1\cup I_2) \times \{1,2\}$ into $O_1 \cup O_2$.