On teste celui-ci???
Code PHP :
<?php
dX = ABS( Xa - Xb );
dY = ABS( Ya - Yb );
if ( dX ==0) dD = 0;
else if ( dX % 2 == 0 ) dD = ceil( dY / 2 );
else dD = floor( dY / 2 );
D = dX + dY - dD;
Ce qyui permet de gérer le cas particulier du X constant