Ho dato una veloce occhiata allo script.
E` molto lungo, per cui non sono riuscito a guardarlo tutto, ma ho notato un paio di cose che non mi piacciono.

1. C'e` una variabile soluzione ed una funzione Soluzione. In qualche browser (non case-sensitive, tipo IE - qualche versione) questo potrebbe indicare lo stesso oggetto ...

2. definisci una funzione dentro un'altra:

function Vogel(f) {
var maxinriga=false;
var maxincolonna=false;
var indicemassimo=0;
var posminimo=0;
var sol="";

function TrovaMinimo(v) { // trova la posizione del minimo all'interno di un vettore
var m=0;

In JS questo e` vietato.

Altre cose che potrebbero darti il problema (ma non ho verificato se ce ne sono nel tuo script):
- funzioni ricorsive (non sempre si possono fare in JS)
- loop troppo lunghi (ma forse questo non viene neppure segnalato)

Prova a vedere e ripensare alla tua funzione.

Ciao
Michele