  Linear differential equations of arbitrary order with polynomial coefficients
are considered. Specifically, necessary and sufficient conditions for the
existence of polynomial solutions of a given degree are obtained for these
equations. An algorithm to determine these conditions and to construct the
polynomial solutions is given. The effectiveness of this algorithmic approach
is illustrated by applying it to several differential equations that arise in
mathematical physics.
