successive square method