That brings to mind one common computer scientest fallacy - that elegence is an end to itself. It may share some properties which make it practical but unfortunately it is not in practice.
Recursive solutions are more elegant but you still use a stack and while loop to not smash the stack.