First of all, as the original poster of this problem, I''m
very glad to see some lively discussions going on. The
problem is very simply to state, yet intricately difficult
to solve. It''s kind of like Fermat''s Last Theorem.

I''d have to say that using the logarithm "function" is not
necessarily the fastest nor the most accurate. Think about
how the "log" function is implemented. The stock version
that comes with your favorite compilers probably uses some
variations of iterative evaluation, up to a pre-defined
tolerance level. You have no control over it whatsoever.

I asked for the "fastest", not the "easiest" function to
write, which takes up 2 lines of code if using the "log"
function. Of course, you can always write your own
version of "log", which is where part of the challenge
comes from.

In fact, it may even be faster to just multiply "n" over
and over again until it is larger than or equal to "m".
Yes, I used 34271896307633 "on purpose", to bring out
the limits of "float" and "double" as to render the "log"
functions useless.

The jury is still out as to what is the FASTEST way to do
it in C/C++ (no assembly required).
Premature optimizations can only slow down your project even more.