Вы можете сделать это простым (не зависит от языка):
overallHeight = 1300;
overallWidth = 1000;
numberOfBricks = 170;
squareRootOfBrickCount = sqrt(numberOfBricks);
brickHeight = int(overallHeight/squareRootOfBrickCount);
brickWidth = int(overallWidth/squareRootOfBrickCount);
Для самых правых и самых нижних кубиков вам нужно будет добавить любые дополнительные пиксели, которые были пропущены из-за int
операция при расчете:
extraHeight = overallHeight - (int(squareRootOfBrickCount) * brickHeight);
extraWidth = overallWidth - (int(squareRootOfBrickCount) * brickWidth);