Если вы ищете не лучшее решение, а просто приличное решение, должен работать итеративный / физический подход: поместите все круги и приложите силу толкания к каждой паре кругов, пока они не пересекаются,твой цикл заканчивается.(У вас не будет способа определить, подходят ли круги в вашей области, поэтому убедитесь, что процедура заканчивается)
Если вы хотите, чтобы круги соединились, то примените силу притяжения к любой паре окружностей,не перекрываются.