Supongo que lo que buscas es un valor de i conociendo los valores de a de m y de n.
Cuando no podemos despajar, lo mejor es utilizar un método iterativo que nos devuelva una solución aproximada (tan aproximada como queramos)
Sub main()
m = 50: n = 3: a = 5
x1 = 2 ' Valor inicial (solución aproximada)
Do
x0 = x1
x1 = x0 - f(x0, a, m, n) / f1(x0, a, m, n)
Loop While Abs(x1 - x0) > 0.000001 ' Error admisible
Debug.Print "Solución: " & x1
End Sub
' Función de la que queremos encontrar un cero
Private Function f(x, a, m, n) As Double
f = (1 + x) ^ n - 1 - x * m / a
End Function
' Función derivada de la función anterior
Private Function f1(x, a, m, n) As Double
f1 = n * (1 + x) ^ (n - 1) - m / a
End Function
Devolverá: Solución: 1,54138126514911
Observa que si en lugar de x=2 ponemos otro valor, por ejemplo x=-5 nos devolverá otra solución "Solución: -4,54138126514941"
Es evidente también que 0 es una solución para cualquier m, a, n
Lo mejor es que pruebes con varios x iniciales y muestres todas las soluciones.