Non trivial powers
Python, 113
R=range for k in R(4097): v=', '.join(`i`+'^'+`j`for i in R(2,65)for j in R(2,13)if i**j==k) if v:print k,'=',v
This takes a few seconds to complete.
A faster (148 chars) version, using a dictionary to avoid the outermost loop, runs in ~ 0.01 sec:
R=range(2,65) p={} for i in R: for j in R: if i**j<4097:p[i**j]=p.get(i**j,[])+[`i`+'^'+`j`] for k,v in sorted(p.items()):print k,'=',', '.join(v)
Ruby 1.9, 112 111 99 characters
4097.times{|x|s=[]
2.upto(64){|a|2.upto(12){|b|a**b==x&&s<<[a,b]*?^}}
puts [x,s*", "]*" = "if s[0]}
This takes about 0.8 seconds to complete on my system. A faster solution is 111 characters long:
h={};(2..64).map{|a|(2..12).map{|b|a**b<4097&&(h[a**b]||=[])<<[a,b]*?^}}
puts h.sort.map{|a,b|[a,b*", "]*" = "}
Windows PowerShell, 102
With help by Ventero for the initial code.
$OFS=', '
4..4KB|%{$x=$_
if($s=2..64|%{$a=$_
2..12|?{[math]::pow($a,$_)-eq$x}|%{"$a^$_"}}){"$x = $s"}}