Simplifying Radicals
Python, 71-25=46 63-25=38 chars

f=lambda a,b:max((a*i,b/i/i)for i in range(1,b)if b%(i*i)==0)

g=lambda a,b,c:max((a*i,b/i**c)for i in range(1,b)if b%i**c==0)


f is 61, chars. g is 63 but gets a 25 char bonus.