Solving Diamond Problem