Solve every problem with recursion
Can you define what it means to solve a problem "only" with recursion?

Would your definition allow an algorithm like this: 

int foo(int n) {
    if (n==1) return 1;
    while(someCondition) {
        do something
        foo(n-1);
    }
}


If your definition would wllow this, then it would be easy to transform every algorithm in such a recursive form (you could do all your calculations in the outermost function call and do nothing in the recursive calls).