Thanks and wow not what I expected.
I had cached the factorials as I calculated them (as the min/max could re-use them for different numbers) but that wasn’t the problem. (Thought for sure that was the long operation and I don’t think that simplifies at all).
Had to take the Log of both sides and then use N*math.log(a) instead of aN in my comparison. This completed within the time limit where as aN would not.
I don’t remember my calculus that well, but I guess the libraries use a Taylor Series to calculate the Log function. Where as the ** operation is performed recursively when an integer is used? Seems odd as I’d expect that operation to convert/simply with natural log functions which could use Taylor Series.
Doesn’t make sense, so maybe I don’t quiet understand it, but problem solved & solution passed!
Thanks Kirbiby & selenae