from pprint import pprint results = [] for numerator in range(10, 100): if str(numerator)[-1] == '0': continue for denominator in range(10, 100): if str(denominator)[-1] == '0': continue if str(numerator)[0] == str(numerator)[1] \ and str(denominator)[0] == str(denominator)[1]: continue frac = numerator / denominator if frac < 1: short_numerator = int(str(numerator)[0]) short_denominator = int(str(denominator)[1]) short_frac = short_numerator / short_denominator if numerator == 49 and denominator == 98: pprint(locals()) if frac == short_frac: results.append((numerator, denominator)) pprint(results)