Насколько я знаю, эта задача на данный момент не имеет точного решения для произвольного случая.