При решении одной прикладной задачи возникла следующая проблема.
Заданы целые числа

и

такие, что

Двоичный вектор (т.е. вектор с элементами из множества

длины

назовем
правильным если
в подвекторе

имеется ровно

единиц,
в подвекторе

имеется ровно

единиц,
...
в подвекторе

имеется ровно

единиц.
Иными словами, правильный вектор, это вектор составленный из

блоков длин

, причем

-й блок содерхит

единиц (остальные элементы равны

).
Рассмотрим ситсему линейных уравнений над

(левые части фиксированы):
Требуется определить, существует ли хотя бы один
правильный столбец свободных членов при котором эта систсма совместна?
Отмечу, что решать и находить ничего не нужно. Нужен быстрый алгоритм выдающий true или false в зависимости от ответа на сформулированный вопрос. Хочется, чтобы этот алгоритм работал быстрее, чем простой перебор всех мыслимых правильных столбцов свободных членов (это очень долго).
Порядок чисел таков:

,

,

.
Буду рад любым соображения и замечаниям.