We discuss the algorithms which, given a linear difference equation with rational function coefficients over a field k of characteristic 0, compute a polynomial U(x) ∈ k[x] (a universal denominator) such that the denominator of each of rational solutions (if exist) of the given equation divides U(x). We consider two types of such algorithms. One of them is based on constructing a set of irreducible polynomials that are candidates for divisors of denominators of rational solutions, and on finding a bound for the exponent of each of these candidates (the full factorization of polynomials is used). The second one is related to earlier algorithms for finding universal denominators, where the computation of gcd was used instead of the full factorization. The algorithms are applicable to scalar equations of arbitrary orders as well as to systems of first-order equations. A complexity analysis and a time comparison of the algorithms implemented in Maple are presented.
Sergei A. Abramov, A. Gheffar, D. E. Khmelnov