Here’s a way to get * a* solution, which I arrived at after trying a fixed-point iteration à la Picard iteration:

```
eqn = f'(x) == InverseFunction(f)(x);
Off(InverseFunction::ifun);
Block({f = a #^k &, eqn0},
eqn0 = PowerExpand@eqn;
ksol = First@Solve(Exponent(#, x) & /@ eqn0 && k > 0, k);
asol = First@Solve(eqn0 /. ksol /. x -> 1, a);
f0 = f /. asol /. ksol
)
```

`(* E^(((1 + Sqrt(5)) (Log(2) - Log(1 + Sqrt(5))))/(3 + Sqrt(5))) * #1^(1/2 (1 + Sqrt(5))) & *)`

Check:

```
Simplify(eqn /. f -> f0)
On(InverseFunction::ifun);
```

`(* True *)`