Скажем, есть подобная таблица задолженности:
![18f3acca21614b6bb4b04befcd6eaa91.jpg](https://habrastorage.org/files/18f/3ac/ca2/18f3acca21614b6bb4b04befcd6eaa91.jpg)
Её можно представить в виде ориентированного графа:
![9c6fb5a985a24f3c9d89144339d67fb8.jpg](https://habrastorage.org/files/9c6/fb5/a98/9c6fb5a985a24f3c9d89144339d67fb8.jpg)
У каждой вершины свой индекс. Их можно представить в виде двудольного графа:
![0914aec7060d412f97fd633157b341cb.png](https://habrastorage.org/files/091/4ae/c70/0914aec7060d412f97fd633157b341cb.png)
В итоге получается граф с тремя рёбрами:
![904cf72525d5461f9f8ded4c5016c227.jpg](https://habrastorage.org/files/904/cf7/252/904cf72525d5461f9f8ded4c5016c227.jpg)
То есть получается вот такая таблица:
![6b3675000039448e83989559dea85096.jpg](https://habrastorage.org/files/6b3/675/000/6b3675000039448e83989559dea85096.jpg)
Собственно, вопрос: как это можно представить на веб-языке, какой будет алгоритм?