Diamond square recursion