سلام
دیدم خیلی پیگیر و مشتاق این مطلب هستید گفتم شاید بتونم کمکی بکنم:
تا جایی که من از بحث دستگیرم شد گیر اصلی روی تجزیه و تحلیل رشته ایی هست که کاربر وارد کرده و بدست آوردن اعداد و متغییر هاست و در واقع بدست آوردن ساختار معادله.
بدون شک راحت ترین راه برای همچین کاری طراحی یک Parser کوچیک برای عبارات ریاضی هست ، در واقع این راهی که شما داری میری قبلا رفته شده و نتایج بدون نقصی هم گرفته شده.(طراحی کامپایلر برای عبارات ریاضی و حل معادله)
به طور خلاصه برای این کار شما باید اول متن مورد نظر رو تجزیه کنید(Lexical Analyzer) یعنی اعداد ، متغییر ها و عملوند ها (*,+,-,^,....) را جدا کنید بعد با استفاده از (Parser) یک درخت (Parsing Tree) برای عبارت مورد نظر بسازید در این مرحله حل کردن معادله دیگه کاری نداره.
اگر می خواهید از تجربیات کسانی که قبلا به موضوع مد نظر شما فکر کرده اند و نتیجه گرفته اند استفاده کنید کتاب طراحی کامپایلر بخونید که تو بازار هم به وفور پیدا میشه.
(مثلا کتاب اصول طراحی کامپایلر تالیف آلفرد- ای- هو Alfred Aho و ترجمه های مختلفی براش هست- در همین کتاب مثال برای تجزیه عبارات ریاضی وجود داره)
در ضمن یه چند تا برنامه در این زمینه دیده بودم اگر پیداشون کردم برات میذارم تا عملکردشون رو ببینی.
موفق باشید و هیچ وقت نا امید نشید.