Существует ли алгоритм выведения неизвестного из формулы?
Ну, вы собираетесь написать систему символьной алгебры с нуля, а это - сложная задача. Лучше просто напишите коннектор к maxima или octave, они умеют это делать.

Разработка же с нуля, это огромное количество RnD, да еще требующее довольно специфичных знаний в области высшей алгебры (ничего общего со школьной алгеброй не имеет). 

Для начала, нужно научиться хотя бы хранить уравнение (в виде строки или в виде ОПЗ, или в виде AST, или еще как-то)  и делать с ним эквивалентные преобразования.
Не только maxima или octave, но и Python/SymPy имеет аналогичные средства. (Кстати, разработки в этом направлении ведутся как минимум с начала 70-ых годов прошлого века). Но повторять подвиг их разработки - надо иметь большое нахальство (в хорошем смысле), глубокие знания в математике (мат.логике, алгебре,  теории формальных грамматик и очень много в чем еще) и программировании  (причем, не на классических языках программирвоания, а на всяких LISP да PROLOG -  впрочем, я не слежу, что в этой области сейчас в тренде), и вообще-то говоря не малую команду квалифицированных сподвижников. Да и зачем? Бери, пользуйся готовым. Ну если очень хочется - встрой в свое приложение, благо все доступно, вплоть до исходного кода.