def findDigitCancellingFractions():
	digit_cancelling_fractions = []

	for numerator in range(10,100): # since we are interested only in fractions having 2 digits in numerator and denominator.
		for denominator in range(10,100):
			# if value of fraction > 1 or if the units place of numerator or denominator has a 0, skip and go to next number.
			if (   (numerator/denominator >= 1) or (Common.getDigits(numerator)[1] == 0) or (Common.getDigits(denominator)[1] == 0)):
				pass
			else:
				if (Common.getDigits(numerator)[1] == Common.getDigits(denominator)[0]):	# Units digit of numerator equals the tens digit of denominator

					# After digit cancelling, if value of incorrect fraction equals value of correct fraction, we have a winner.  
					if (float(Common.getDigits(numerator)[0]) / float(Common.getDigits(denominator)[1]) == float(numerator)/float(denominator)):
						digit_cancelling_fractions.append((numerator,denominator))


	# find the product of all 4 digit cancelling fractions
	product_numerator = 1
	product_denominator = 1
	# calculate the product of all numerators and denominators separately.
	for fract in digit_cancelling_fractions:
		product_numerator = product_numerator*fract[0] 
		product_denominator = product_denominator*fract[1]
	
	# reduce the fraction to its lowest Common term
	reducedform = Common.reduceFractionToLowestCommonTerms((product_numerator,product_denominator)) 			
	return	reducedform