` ``PROGRAM:SOLVE :Input "0=",Str0 :Str0→ Y0 :Disp "X= :solve(Y0,X,0)▶Frac`

However, this program requires that the equation is in "0=" form. To fix this, we can use string manipulation:

` ``:Input Str0 :inString(Str0,"= :sub(Str0,1,Ans-1)+"-("+sub(Str0,Ans+1,length(Str0)-Ans→Y0 :Disp "X= :solve(Y0,X,0)▶Frac`

If you use this program, make sure to match all parentheses, otherwise it will behave weirdly.

Here are some sample runs:

` ``prgmA ?X5=25 X= 5 prgmA ?7X-2=2(X+3) X= 8/5`

Edit: This program and many others are contained in my Math Program. If you have a link cable, you can download it.

]]>` ``While inString(Str4,Str2,W inString(Str4,Str2,W->W .................................... Ans+sub(Str4,W+J,1+length(Str4)-(W+J Ans->Str4`

Can you tell me where it goes when you hit Goto for the error? Usually it will be somewhere around there and could help us find where to look. I hope you can get it figured out!

]]>Part 1

Title: ALGEBRA2

` ``ClrHome While 1 0->M 0->X 0->Y Repeat inString(Str1,"X") and inString(Str1,"=" Input Str1 End Str1->v Output(8,1,"1" prgmALGEBRAB Output(8,1,"2" Str4->w Str5->u Repeat v or w or u X+1->X Y-1->Y End If v Disp X If w Disp Y If u Disp 0 Output(8,1," " //1 Space End`

Part 2

Title: ALGEBRAB

` ``Str1->Str4 "X"->Str2 "Y"->Str3 length(Str2->J 1->W While inString(Str4,Str2,W inString(Str4,Str2,W->W Str3 If W>1 sub(Str4,1,W-1)+Ans If W+J<1+length(Str4 Ans+sub(Str4,W+J,1+length(Str4)-(W+J Ans->Str4 W+length(Str3->W End Str1->Str5 "X"->Str2 "M"->Str3 length(Str2->J 1->W While inString(Str4,Str2,W inString(Str4,Str2,W->W Str3 If W>1 sub(Str4,1,W-1)+Ans If W+J<1+length(Str4 Ans+sub(Str4,W+J,1+length(Str4)-(W+J Ans->Str4 W+length(Str3->W End`