Answer:
A program is a set of instructions that a computer executes.
An algorithm is a set of instructions that must be done in order to get some result.
If an algorithm is written in a programming language, then the program is an implementation of the algorithm.
An algorithm must not, however, be a program. An algorithm can also be performed manually (e.g. calculate 6431 + 8316 on paper or in your head).
Explanation: