Suppose we have an n by n matrix. Is it possible to reorder its rows and columns such that we get an upper-triangular matrix?

This question is motivated by this problem:
[Positive topological ordering](https://cstheory.stackexchange.com/questions/1346/positive-topological-ordering)

The original decision problem is at least as hard as this one, so an NP-completeness result would solve that too.

Edit:
Laszlo Vegh and Andras Frank called my attention to an equivalent problem asked by Gunter Rote:
<http://lemon.cs.elte.hu/egres/open/Graphs_extendable_to_a_uniquely_matchable_bipartite_graph>

Edit:
The reduction to the original problem is as follows. Suppose that the DAG has only two levels, these will correspond to the rows and columns of the matrix. Also, we have one single node with weight +1. Everyone else in the lower level has weight -1 and on the upper level +1.