KeithL> I've heard good things about Mathematica. Too bad it's so expensive. I've been doing everything in C. I'm curious whether Mathematica is reasonably fast. In C, it took me about a month of CPU time to solve the meta-meta-problem, i.e. to find that a single division sign and a single minus sign was a solution. (I got lucky in that it's also the *only* solution.) I'm curious how long it would take Mathematica to find that. And what the code would look like. Well, here it is taking 10 sec to find the representions of 31415 as sums of four squares In[23]:= tim[Reduce[#.# == 31415 && LessEqual @@ #, Rest[#], Integers] &@{0, a, b, c, d}] During evaluation of In[23]:= 10.411966 Out[23]= Very Large Out[23] In[24]:= Length[%] Out[24]= 829 In[25]:= %%[[{1, 2, 3, -3, -2, -1}]] Out[25]= (a == 1 && b == 2 && c == 9 && d == 177) || (a == 1 && b == 2 && c == 99 && d == 147) || (a == 1 && b == 6 && c == 7 && d == 177) || (a == 78 && b == 81 && c == 83 && d == 109) || (a == 79 && b == 82 && c == 93 && d == 99) || (a == 81 && b == 85 && c == 85 && d == 102) (tim is my own timing function.) In[27]:= 31415.^(4/2) Out[27]= 9.86902*10^8 so a bruteforce search in C might have been faster. But there are scaling issues. And programmer time. --rwg I lied again: " (Digression, for a non-traditional, non-dyadic-rational plot that really needs memoizing, try, e.g., Graphics[Polygon[{Re[#],Im[#]}&/@Append[Hilbert/@Range[4^-6,1,5/2^11],1]]])" No, that just connects every 5th vertex of a polygon with dyadic rational vertices. For a legitimate (somewhat Mayan) example, try Graphics[Polygon[{Re[#],Im[#]}&/@Hilbert/@Range[0,1,1/320]]]