En Fortran 90 es posible acceder a los valores de un arreglo unidimensional de forma arbitraria mediante el uso de otro arreglo que tenga los subíndices del primero:
C Fortran 77 ! Fortran 90 PROGRAM a_a_a PROGRAM asig_arreglo_arbitrario INTEGER v(4) IMPLICIT NONE REAL a(20), b(20) INTEGER, DIMENSION(4) :: v DATA v /5,2,4,1/ REAL, DIMENSION(20) :: a, b DATA b /1,2,3,4,5 .../ INTEGER i DO 1, i = 1, 4 DATA v /5,2,4,1/ a(v(i)) = b(i) b = (/ (i, i=1, 4) /) 1 CONTINUE a(v) = b END END