Fix $n>k>1$. Define $\mathcal {A}(i,j)$ be the set of all sets $A\subset \{1,\ldots,n\}$ such that:
- $A$ has $k-1$ elements,
- $i\not\in A$ and also
- $j\not\in A$.
Also, for $A$ in $\mathcal {A}(i,j)$ let $B_{i,j}(A)= \{1,\ldots,n\}\backslash \left(A\cup\{i,j\}\right)$.
Consider the following matrix: $$M=\begin{cases} m_{i,j}=0&\text{ if } i=j, \text{ and }\\ m_{i,j}=\sum_{A\in \mathcal {A}(i,j)}\left( \prod_{l\in A} y_l \prod_{l\in B_{i,j}(A)} x_l\right)&\text{ if } i\neq j\end{cases},$$
where $x_l,y_l>0$ for all $l$.
Conjecture: $\det(M)\neq 0$ or more precisely, $\mathrm{sign}(\det(M))=(-1)^{n-1}$.
For cases that I can compute with 11G memory and 8 nodes in a Linux cluster, the determinant above has sign $(-1)^{n-1}$.
In the case $\mathbf{n=4}$, it is easy to check that the even permutations whose corresponding addends are nonzero (i.e., that have no fixed points) have two cycles of length two. For example, (12)(34) corresponds to the term $+m_{1,2}^2\,m_{3,4}^2$ in the expansion of the det. The odd permutations always come in pairs. For example, both (1234) and (1432) correspond to the term $-m_{1,2}\,m_{2,3}\,m_{3,4}\,m_{1,4}$ so we have $-2m_{1,2}\,m_{2,3}\,m_{3,4}\,m_{1,4}$ in the expansion of the det. Now, by definition of $m_{i,j}$, it is easy to check that: $$ m_{1,2}^2\,m_{3,4}^2<m_{1,2}\,m_{2,3}\,m_{3,4}\,m_{1,4}+m_{1,2}\,m_{1,3}\,m_{3,4}\,m_{2,4}.$$ Thus, using symmetry, we can show that all positive terms are dominated by the negative terms. For higher $n$, a similar argument should work. I'm trying to 1) identify which are the even permutations (when $n$ is even) and 2) show that there are lots of odd permutations that allow us to kill the terms associated to the even permuations. For odd $n$, it is the opposite.
Mathematica code to count the signs of the terms in the expansion of the determinant (it does not work when $k-1=n$ but this case I proved by hand):
Dy[k_, n_] :=
Module[{f, i, j, a, b, L, c},
f[i_, j_] :=
Boole[i != j]*
Sum[Product[x[a], {a, s}]*
Product[y[b], {b,
Complement[Delete[Range[n], {{i}, {j}}], s]}], {s,
Subsets[Delete[Range[n], {{i}, {j}}], {k - 1}]}];
L = List @@ Expand[Det[Array[f, {n, n}]]];
c = Count[L, _?Internal`SyntacticNegativeQ];
{c, Length[L]}]