Manipulación de ecuaciones matemáticas en Python.

Quiero desarrollar una aplicación GUI que muestre una ecuación matemática dada. Cuando hace clic en una variable en particular en la ecuación para indicar que es la variable desconocida, es decir, para calcularla, la ecuación se transforma para evaluar la variable desconocida requerida.

Por ejemplo:

a = (b+c*d)/e

Supongamos que hago clic en "d" para indicar que es la variable desconocida. Entonces la ecuación debe ser reestructurada para:

d = (a*e - b)/c

A partir de ahora, solo quiero saber cómo puedo reorganizar la ecuación dada en función de las aportaciones de los usuarios. Una sugerencia que obtuve de mi hermano fue usar la representación notatoria de arreglos previos / arreglos posteriores para evaluarla.

¿Es esa la única manera de ir o hay alguna sugerencia más simple? Además, no solo usaré funciones matemáticas básicas, sino también trignometría y cálculo (creo que es básico. No hay cálculo diferencial parcial y todo eso). Creo que la evaluación de notación previa / posterior a la corrección podría no ser útil en la evaluación de funciones matemáticas superiores.

Pero esa es solo mi opinión, así que señale si estoy equivocado. Además, estaré usandoSimpatía para la evaluación matemática, de modo que la evaluación de una ecuación matemática dada no es un problema, la creación de una ecuación específica a partir de una genérica dada es mi problema principal.