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.