What nodes did you try? Because as I told you, your current algorithm does not take into account that edge(A, B, X) also means edge(B, A, X), so maybe some possibilities are not considered.
Make sure that you don't choose nodes that are not connected in your graph, or are connected but only if...