  A unit fraction representation of a rational number $r$ is a finite sum of
reciprocals of positive integers that equals $r$. Of particular interest is the
case when all denominators in the representation are distinct, resulting in an
Egyptian fraction representation of $r$. Common algorithms for computing
Egyptian fraction representations of a given rational number tend to result in
extremely large denominators and cannot be adapted to restrictions on the
allowed denominators. We describe an algorithm for finding all unit fraction
representations of a given rational number using denominators from a given
finite multiset of positive integers. The freely available algorithm,
implemented in Scheme, is particularly well suited to computing dense Egyptian
fraction representations, where the allowed denominators have a prescribed
maximum.
