После некоторых размышлений я пришел к такому варианту решения:
общее решение неопределённой системы будет выглядеть примерно так

т.е. в результате получаются наборы линейно взаимосвязанных переменных, которые могут в определённых пределах произвольными, следовательно - решений бесконечное множество, но изменение значения любой переменной влияет только на переменные соответствующего ей набора
можно в принципе принять равными переменные из разных наборов, но это приведёт к уменьшению числа кластеров
собственно на мой взгляд это и есть решение задачи